Progressive Insurance Capabilities
Naftiko 0.5 capability definitions for Progressive Insurance - 100 capabilities showing integration workflows and service orchestrations.
Orchestrates agency appointment onboarding pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agency Appointment Onboarding Pipeline"
description: "Orchestrates agency appointment onboarding pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- agency
- progressive-insurance
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: agency
port: 8080
tools:
- name: agency-appointment-onboarding-pipeline
description: "Orchestrates agency appointment onboarding pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/agency"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/agency"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/agency"
operations:
- name: execute-3
method: POST
Retrieves an insurance agent's commission report from Guidewire BillingCenter, returning total commissions earned, number of policies sold, and commission rate by product line.
naftiko: "0.5"
info:
label: "Agent Commission Report"
description: "Retrieves an insurance agent's commission report from Guidewire BillingCenter, returning total commissions earned, number of policies sold, and commission rate by product line."
tags:
- billing
- agent
- guidewire
capability:
exposes:
- type: mcp
namespace: agent-commissions
port: 8080
tools:
- name: get-agent-commissions
description: "Look up agent commission data from Guidewire BillingCenter."
inputParameters:
- name: agent_code
in: body
type: string
description: "The agent code."
- name: period
in: body
type: string
description: "Commission period in YYYY-MM format."
call: "guidewire-bc.get-commissions"
with:
agent_code: "{{agent_code}}"
period: "{{period}}"
outputParameters:
- name: total_commissions
type: string
mapping: "$.data.totalCommissions"
- name: policies_sold
type: string
mapping: "$.data.policiesSold"
- name: product_breakdown
type: string
mapping: "$.data.productBreakdown"
consumes:
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: commissions
path: "/agents/{{agent_code}}/commissions"
inputParameters:
- name: agent_code
in: path
- name: period
in: query
operations:
- name: get-commissions
method: GET
Orchestrates agent lead distribution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agent Lead Distribution Pipeline"
description: "Orchestrates agent lead distribution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- agent
- progressive-insurance
- datadog
- tableau
- progressive
capability:
exposes:
- type: mcp
namespace: agent
port: 8080
tools:
- name: agent-lead-distribution-pipeline
description: "Orchestrates agent lead distribution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "datadog.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "tableau.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "progressive.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/agent"
operations:
- name: execute-1
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/agent"
operations:
- name: execute-2
method: POST
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/agent"
operations:
- name: execute-3
method: POST
Retrieves agent performance metrics data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Agent Performance Metrics"
description: "Retrieves agent performance metrics data from the Progressive Insurance auto insurance systems."
tags:
- agent
- progressive-insurance
- metrics
capability:
exposes:
- type: mcp
namespace: agent
port: 8080
tools:
- name: agent-performance-metrics
description: "Retrieves agent performance metrics data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.agent-performance-metrics"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/agent/performance/metrics/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: agent-performance-metrics
method: GET
Verifies an independent agent's portal access status and permissions from the agent management system, returning active status, product lines authorized, and last login date.
naftiko: "0.5"
info:
label: "Agent Portal Access Check"
description: "Verifies an independent agent's portal access status and permissions from the agent management system, returning active status, product lines authorized, and last login date."
tags:
- agent
- customer-service
capability:
exposes:
- type: mcp
namespace: agent-mgmt
port: 8080
tools:
- name: check-agent-access
description: "Check an agent's portal access status and permissions."
inputParameters:
- name: agent_code
in: body
type: string
description: "The agent code."
call: "agent-system.get-agent"
with:
agent_code: "{{agent_code}}"
outputParameters:
- name: active
type: string
mapping: "$.data.isActive"
- name: product_lines
type: string
mapping: "$.data.authorizedProducts"
- name: last_login
type: string
mapping: "$.data.lastLoginDate"
consumes:
- type: http
namespace: agent-system
baseUri: "https://api.progressive.com/internal/agents/v1"
authentication:
type: bearer
token: "$secrets.agent_system_token"
resources:
- name: agents
path: "/agents/{{agent_code}}"
inputParameters:
- name: agent_code
in: path
operations:
- name: get-agent
method: GET
Orchestrates agent training compliance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agent Training Compliance Pipeline"
description: "Orchestrates agent training compliance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- agent
- progressive-insurance
- tableau
- progressive
- salesforce
capability:
exposes:
- type: mcp
namespace: agent
port: 8080
tools:
- name: agent-training-compliance-pipeline
description: "Orchestrates agent training compliance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "tableau.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "progressive.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/agent"
operations:
- name: execute-1
method: POST
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/agent"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/agent"
operations:
- name: execute-3
method: POST
Retrieves a billing account summary from Guidewire BillingCenter by policy number, returning balance due, next payment date, payment method, and payment history.
naftiko: "0.5"
info:
label: "Billing Account Summary"
description: "Retrieves a billing account summary from Guidewire BillingCenter by policy number, returning balance due, next payment date, payment method, and payment history."
tags:
- billing
- customer-service
- guidewire
capability:
exposes:
- type: mcp
namespace: billing
port: 8080
tools:
- name: get-billing-summary
description: "Look up billing account details for a policy from Guidewire BillingCenter."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
call: "guidewire-bc.get-account"
with:
policy_number: "{{policy_number}}"
outputParameters:
- name: balance_due
type: string
mapping: "$.data.balanceDue"
- name: next_payment_date
type: string
mapping: "$.data.nextPaymentDate"
- name: payment_method
type: string
mapping: "$.data.paymentMethod"
consumes:
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: accounts
path: "/accounts"
inputParameters:
- name: policy_number
in: query
operations:
- name: get-account
method: GET
Generates a boat/watercraft insurance quote from Guidewire PolicyCenter, returning premium, hull coverage, liability limits, and applicable watercraft discounts.
naftiko: "0.5"
info:
label: "Boat Insurance Quote"
description: "Generates a boat/watercraft insurance quote from Guidewire PolicyCenter, returning premium, hull coverage, liability limits, and applicable watercraft discounts."
tags:
- pricing
- underwriting
- guidewire
- boat
capability:
exposes:
- type: mcp
namespace: boat-quoting
port: 8080
tools:
- name: generate-boat-quote
description: "Generate a boat insurance quote from Guidewire PolicyCenter."
inputParameters:
- name: hull_id
in: body
type: string
description: "The boat hull identification number."
- name: boat_value
in: body
type: string
description: "Agreed boat value."
- name: owner_info
in: body
type: string
description: "JSON with owner details."
call: "guidewire-pc.create-boat-quote"
with:
hull_id: "{{hull_id}}"
value: "{{boat_value}}"
owner: "{{owner_info}}"
outputParameters:
- name: quote_number
type: string
mapping: "$.data.quoteNumber"
- name: premium
type: string
mapping: "$.data.totalPremium"
- name: hull_coverage
type: string
mapping: "$.data.hullCoverage"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: boat-quotes
path: "/quotes/boat"
operations:
- name: create-boat-quote
method: POST
Evaluates Direct Repair Program body shop performance by pulling repair cycle time data from CCC, customer satisfaction scores from SurveyMonkey, and supplement frequency, then posts the scorecard to Slack.
naftiko: "0.5"
info:
label: "Body Shop DRP Performance Orchestrator"
description: "Evaluates Direct Repair Program body shop performance by pulling repair cycle time data from CCC, customer satisfaction scores from SurveyMonkey, and supplement frequency, then posts the scorecard to Slack."
tags:
- claims
- drp
- ccc-intelligent-solutions
- surveymonkey
- slack
capability:
exposes:
- type: mcp
namespace: drp-management
port: 8080
tools:
- name: evaluate-shop-performance
description: "Given a body shop ID, compile repair metrics, CSAT scores, and supplement data, then share the scorecard."
inputParameters:
- name: shop_id
in: body
type: string
description: "The DRP body shop identifier."
- name: period
in: body
type: string
description: "Review period in YYYY-Q# format."
steps:
- name: get-repair-metrics
type: call
call: "ccc.get-shop-metrics"
with:
shop_id: "{{shop_id}}"
period: "{{period}}"
- name: get-csat
type: call
call: "surveymonkey.get-shop-scores"
with:
shop_id: "{{shop_id}}"
period: "{{period}}"
- name: post-scorecard
type: call
call: "slack.post-message"
with:
channel: "#drp-performance"
text: "DRP Scorecard ({{period}}) - Shop: {{shop_id}}\nAvg Cycle Time: {{get-repair-metrics.avg_cycle_days}} days\nSupplement Rate: {{get-repair-metrics.supplement_rate}}%\nCSAT Score: {{get-csat.avg_score}}/5\nClaims Volume: {{get-repair-metrics.claims_count}}"
consumes:
- type: http
namespace: ccc
baseUri: "https://api.cccis.com/v2"
authentication:
type: bearer
token: "$secrets.ccc_token"
resources:
- name: shop-metrics
path: "/shops/{{shop_id}}/metrics"
inputParameters:
- name: shop_id
in: path
- name: period
in: query
operations:
- name: get-shop-metrics
method: GET
- type: http
namespace: surveymonkey
baseUri: "https://api.surveymonkey.com/v3"
authentication:
type: bearer
token: "$secrets.surveymonkey_token"
resources:
- name: shop-scores
path: "/surveys/drp_csat/responses"
inputParameters:
- name: shop_id
in: query
- name: period
in: query
operations:
- name: get-shop-scores
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
Orchestrates body shop network quality pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Body Shop Network Quality Pipeline"
description: "Orchestrates body shop network quality pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- body
- progressive-insurance
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: body
port: 8080
tools:
- name: body-shop-network-quality-pipeline
description: "Orchestrates body shop network quality pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/body"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/body"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/body"
operations:
- name: execute-3
method: POST
When a catastrophe event is declared, queries all affected policies by ZIP code from Guidewire, sets up a dedicated claims team in ServiceNow, pre-stages adjusters, and broadcasts customer notifications via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Catastrophe Event Claims Surge Orchestrator"
description: "When a catastrophe event is declared, queries all affected policies by ZIP code from Guidewire, sets up a dedicated claims team in ServiceNow, pre-stages adjusters, and broadcasts customer notifications via Salesforce Marketing Cloud."
tags:
- claims
- catastrophe
- guidewire
- servicenow
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: cat-response
port: 8080
tools:
- name: activate-cat-response
description: "Given a catastrophe event ID and affected ZIP codes, identify impacted policies, set up response team, and notify customers."
inputParameters:
- name: cat_event_id
in: body
type: string
description: "The catastrophe event identifier."
- name: affected_zips
in: body
type: string
description: "Comma-separated list of affected ZIP codes."
- name: event_type
in: body
type: string
description: "Type of event (hurricane, tornado, hail, flood, wildfire)."
steps:
- name: find-affected-policies
type: call
call: "guidewire-pc.query-policies"
with:
zip_codes: "{{affected_zips}}"
status: "active"
- name: setup-cat-team
type: call
call: "servicenow.create-task"
with:
short_description: "CAT Response: {{cat_event_id}} ({{event_type}})"
description: "Affected policies: {{find-affected-policies.count}}. ZIPs: {{affected_zips}}."
assignment_group: "CAT_Response"
- name: notify-customers
type: call
call: "sfmc.send-batch-email"
with:
template: "cat_notification"
recipient_list: "{{find-affected-policies.emails}}"
merge_event_type: "{{event_type}}"
merge_claim_phone: "1-800-776-4737"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/search"
operations:
- name: query-policies
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/sc_task"
operations:
- name: create-task
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: batch-emails
path: "/messaging/v1/email/messages/batch"
operations:
- name: send-batch-email
method: POST
Orchestrates catastrophe response resource pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Catastrophe Response Resource Pipeline"
description: "Orchestrates catastrophe response resource pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- catastrophe
- progressive-insurance
- sendgrid
- datadog
- tableau
capability:
exposes:
- type: mcp
namespace: catastrophe
port: 8080
tools:
- name: catastrophe-response-resource-pipeline
description: "Orchestrates catastrophe response resource pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sendgrid.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "datadog.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "tableau.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/catastrophe"
operations:
- name: execute-1
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/catastrophe"
operations:
- name: execute-2
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/catastrophe"
operations:
- name: execute-3
method: POST
When additional documents are needed for a claim, sends a document request to the claimant via Twilio SMS and email via Salesforce Marketing Cloud, creates a follow-up task in Guidewire ClaimCenter, and tracks the request in ServiceNow.
naftiko: "0.5"
info:
label: "Claim Document Request Orchestrator"
description: "When additional documents are needed for a claim, sends a document request to the claimant via Twilio SMS and email via Salesforce Marketing Cloud, creates a follow-up task in Guidewire ClaimCenter, and tracks the request in ServiceNow."
tags:
- claims
- customer-service
- twilio
- salesforce-marketing-cloud
- guidewire
capability:
exposes:
- type: mcp
namespace: claim-docs
port: 8080
tools:
- name: request-claim-documents
description: "Given a claim number and required documents, send request to claimant and track follow-up."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: documents_needed
in: body
type: string
description: "Comma-separated list of required documents."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: send-sms
type: call
call: "twilio.send-sms"
with:
to: "{{get-claim.primaryInsured.phone}}"
body: "Progressive: We need the following documents for claim {{claim_number}}: {{documents_needed}}. Please upload at progressive.com/claims or reply to this message."
- name: send-email
type: call
call: "sfmc.send-email"
with:
template: "document_request"
to: "{{get-claim.primaryInsured.email}}"
merge_claim: "{{claim_number}}"
merge_docs: "{{documents_needed}}"
- name: create-followup
type: call
call: "guidewire-cc.create-activity"
with:
claim_number: "{{claim_number}}"
type: "document_request"
description: "Documents requested: {{documents_needed}}"
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- name: activities
path: "/claims/{{claim_number}}/activities"
inputParameters:
- name: claim_number
in: path
operations:
- name: create-activity
method: POST
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Accounts/{{account_sid}}/Messages.json"
inputParameters:
- name: account_sid
in: path
operations:
- name: send-sms
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
When a new claim is filed, evaluates claim complexity and adjuster workload, assigns the optimal adjuster in Guidewire ClaimCenter, and sends a notification to the adjuster in Microsoft Teams with claim details.
naftiko: "0.5"
info:
label: "Claims Adjuster Assignment Orchestrator"
description: "When a new claim is filed, evaluates claim complexity and adjuster workload, assigns the optimal adjuster in Guidewire ClaimCenter, and sends a notification to the adjuster in Microsoft Teams with claim details."
tags:
- claims
- assignment
- guidewire
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: claims-assignment
port: 8080
tools:
- name: assign-adjuster
description: "Given a claim number, evaluate complexity and assign the best available adjuster."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: find-adjuster
type: call
call: "guidewire-cc.find-available-adjuster"
with:
claim_type: "{{get-claim.claimType}}"
loss_amount: "{{get-claim.totalIncurred}}"
zip_code: "{{get-claim.lossLocation.zip}}"
- name: assign-claim
type: call
call: "guidewire-cc.assign-claim"
with:
claim_number: "{{claim_number}}"
adjuster_id: "{{find-adjuster.adjuster_id}}"
- name: notify-adjuster
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{find-adjuster.adjuster_email}}"
text: "New claim assigned: {{claim_number}}. Type: {{get-claim.claimType}}. Loss date: {{get-claim.lossDate}}. Estimated: ${{get-claim.totalIncurred}}."
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- name: assign-claim
method: PATCH
- name: adjusters
path: "/adjusters/available"
operations:
- name: find-available-adjuster
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Orchestrates claims fraud investigation pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Claims Fraud Investigation Pipeline"
description: "Orchestrates claims fraud investigation pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- claims
- progressive-insurance
- datadog
- tableau
- progressive
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: claims-fraud-investigation-pipeline
description: "Orchestrates claims fraud investigation pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "datadog.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "tableau.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "progressive.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/claims"
operations:
- name: execute-1
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/claims"
operations:
- name: execute-2
method: POST
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/claims"
operations:
- name: execute-3
method: POST
Retrieves claims frequency report data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Claims Frequency Report"
description: "Retrieves claims frequency report data from the Progressive Insurance auto insurance systems."
tags:
- claims
- progressive-insurance
- report
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: claims-frequency-report
description: "Retrieves claims frequency report data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.claims-frequency-report"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/claims/frequency/report/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: claims-frequency-report
method: GET
Orchestrates claims litigation cost tracker across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Claims Litigation Cost Tracker"
description: "Orchestrates claims litigation cost tracker across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- claims
- progressive-insurance
- jira
- teams
- sendgrid
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: claims-litigation-cost-tracker
description: "Orchestrates claims litigation cost tracker across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sendgrid.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/claims"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/claims"
operations:
- name: execute-2
method: POST
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/claims"
operations:
- name: execute-3
method: POST
When a claim escalates to litigation, creates a litigation case in the legal management system, assigns outside counsel, links the claim in Guidewire, and notifies the legal team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Claims Litigation Management Orchestrator"
description: "When a claim escalates to litigation, creates a litigation case in the legal management system, assigns outside counsel, links the claim in Guidewire, and notifies the legal team in Microsoft Teams."
tags:
- claims
- legal
- guidewire
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: litigation
port: 8080
tools:
- name: escalate-to-litigation
description: "Given a claim number and litigation details, create legal case, assign counsel, update claim, and notify legal."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: plaintiff_name
in: body
type: string
description: "Name of the plaintiff."
- name: suit_type
in: body
type: string
description: "Type of suit (bodily_injury, property_damage, bad_faith)."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: create-legal-case
type: call
call: "legal-mgmt.create-case"
with:
claim_number: "{{claim_number}}"
plaintiff: "{{plaintiff_name}}"
suit_type: "{{suit_type}}"
reserve: "{{get-claim.totalIncurred}}"
- name: update-claim
type: call
call: "guidewire-cc.update-claim"
with:
claim_number: "{{claim_number}}"
status: "In Litigation"
legal_case_id: "{{create-legal-case.case_id}}"
- name: notify-legal
type: call
call: "msteams.send-message"
with:
channel_id: "legal-claims"
text: "Litigation: Claim {{claim_number}} escalated. Plaintiff: {{plaintiff_name}}. Suit: {{suit_type}}. Reserve: ${{get-claim.totalIncurred}}. Case: {{create-legal-case.case_id}}."
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- name: update-claim
method: PATCH
- type: http
namespace: legal-mgmt
baseUri: "https://api.progressive.com/internal/legal/v1"
authentication:
type: bearer
token: "$secrets.legal_mgmt_token"
resources:
- name: cases
path: "/cases"
operations:
- name: create-case
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
When a claim is approved for payment, validates the payment amount against the estimate in CCC, issues the payment through Guidewire BillingCenter, sends a payment confirmation email via Salesforce Marketing Cloud, and updates the claim status in ClaimCenter.
naftiko: "0.5"
info:
label: "Claims Payment Orchestrator"
description: "When a claim is approved for payment, validates the payment amount against the estimate in CCC, issues the payment through Guidewire BillingCenter, sends a payment confirmation email via Salesforce Marketing Cloud, and updates the claim status in ClaimCenter."
tags:
- claims
- billing
- guidewire
- ccc-intelligent-solutions
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: claims-payment
port: 8080
tools:
- name: process-claim-payment
description: "Given a claim number and payment amount, validate against estimate, issue payment, send confirmation, and update claim."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: payment_amount
in: body
type: string
description: "The approved payment amount."
- name: payee_email
in: body
type: string
description: "Email address of the payee."
steps:
- name: validate-estimate
type: call
call: "ccc.get-estimate"
with:
claim_number: "{{claim_number}}"
- name: issue-payment
type: call
call: "guidewire-bc.create-payment"
with:
claim_number: "{{claim_number}}"
amount: "{{payment_amount}}"
payee: "{{payee_email}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "claim_payment_confirmation"
to: "{{payee_email}}"
merge_claim_number: "{{claim_number}}"
merge_amount: "{{payment_amount}}"
merge_payment_id: "{{issue-payment.payment_id}}"
- name: update-claim
type: call
call: "guidewire-cc.update-claim"
with:
claim_number: "{{claim_number}}"
status: "Payment Issued"
payment_reference: "{{issue-payment.payment_id}}"
consumes:
- type: http
namespace: ccc
baseUri: "https://api.cccis.com/v2"
authentication:
type: bearer
token: "$secrets.ccc_token"
resources:
- name: estimates
path: "/estimates"
inputParameters:
- name: claim_number
in: query
operations:
- name: get-estimate
method: GET
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: payments
path: "/payments"
operations:
- name: create-payment
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: update-claim
method: PATCH
Orchestrates claims photo ai assessment pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Claims Photo Ai Assessment Pipeline"
description: "Orchestrates claims photo ai assessment pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- claims
- progressive-insurance
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: claims-photo-ai-assessment-pipeline
description: "Orchestrates claims photo ai assessment pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/claims"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/claims"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/claims"
operations:
- name: execute-3
method: POST
Orchestrates claims reserve adequacy pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Claims Reserve Adequacy Pipeline"
description: "Orchestrates claims reserve adequacy pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- claims
- progressive-insurance
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: claims-reserve-adequacy-pipeline
description: "Orchestrates claims reserve adequacy pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/claims"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/claims"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/claims"
operations:
- name: execute-3
method: POST
When new information changes the expected cost of a claim, updates the reserve amount in Guidewire ClaimCenter, logs the change reason in ServiceNow, and notifies the claims supervisor in Slack if the adjustment exceeds a threshold.
naftiko: "0.5"
info:
label: "Claims Reserve Adjustment Orchestrator"
description: "When new information changes the expected cost of a claim, updates the reserve amount in Guidewire ClaimCenter, logs the change reason in ServiceNow, and notifies the claims supervisor in Slack if the adjustment exceeds a threshold."
tags:
- claims
- finance
- guidewire
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: claims-reserves
port: 8080
tools:
- name: adjust-reserve
description: "Given a claim number, new reserve amount, and reason, update the reserve, log the change, and alert if needed."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: new_reserve
in: body
type: string
description: "The new reserve amount."
- name: reason
in: body
type: string
description: "Reason for the reserve adjustment."
steps:
- name: get-current-reserve
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: update-reserve
type: call
call: "guidewire-cc.update-reserve"
with:
claim_number: "{{claim_number}}"
new_amount: "{{new_reserve}}"
reason: "{{reason}}"
- name: log-change
type: call
call: "servicenow.create-record"
with:
table: "reserve_audit_log"
claim_number: "{{claim_number}}"
previous_reserve: "{{get-current-reserve.totalIncurred}}"
new_reserve: "{{new_reserve}}"
reason: "{{reason}}"
- name: alert-supervisor
type: call
call: "slack.post-message"
with:
channel: "#claims-reserves"
text: "Reserve adjusted on claim {{claim_number}}: ${{get-current-reserve.totalIncurred}} -> ${{new_reserve}}. Reason: {{reason}}."
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- name: reserves
path: "/claims/{{claim_number}}/reserves"
inputParameters:
- name: claim_number
in: path
operations:
- name: update-reserve
method: PUT
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: records
path: "/table/{{table}}"
inputParameters:
- name: table
in: path
operations:
- name: create-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
Retrieves a claim status from Guidewire ClaimCenter by claim number, returning claim state, adjuster, loss date, total incurred amount, and next action.
naftiko: "0.5"
info:
label: "Claims Status Lookup"
description: "Retrieves a claim status from Guidewire ClaimCenter by claim number, returning claim state, adjuster, loss date, total incurred amount, and next action."
tags:
- claims
- guidewire
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: get-claim-status
description: "Look up a claim by claim number from Guidewire ClaimCenter."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
outputParameters:
- name: status
type: string
mapping: "$.data.state"
- name: adjuster
type: string
mapping: "$.data.assignedAdjuster.displayName"
- name: loss_date
type: string
mapping: "$.data.lossDate"
- name: total_incurred
type: string
mapping: "$.data.totalIncurred"
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
Orchestrates claims subrogation recovery pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Claims Subrogation Recovery Pipeline"
description: "Orchestrates claims subrogation recovery pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- claims
- progressive-insurance
- jira
- teams
- sendgrid
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: claims-subrogation-recovery-pipeline
description: "Orchestrates claims subrogation recovery pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sendgrid.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/claims"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/claims"
operations:
- name: execute-2
method: POST
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/claims"
operations:
- name: execute-3
method: POST
Retrieves a commercial auto policy from Guidewire PolicyCenter, returning fleet size, coverage limits, driver roster count, and named insured details.
naftiko: "0.5"
info:
label: "Commercial Auto Policy Lookup"
description: "Retrieves a commercial auto policy from Guidewire PolicyCenter, returning fleet size, coverage limits, driver roster count, and named insured details."
tags:
- underwriting
- commercial
- guidewire
capability:
exposes:
- type: mcp
namespace: commercial-policy
port: 8080
tools:
- name: get-commercial-auto-policy
description: "Look up a commercial auto policy from Guidewire PolicyCenter."
inputParameters:
- name: policy_number
in: body
type: string
description: "The commercial auto policy number."
call: "guidewire-pc.get-commercial-policy"
with:
policy_number: "{{policy_number}}"
outputParameters:
- name: named_insured
type: string
mapping: "$.data.namedInsured"
- name: fleet_size
type: string
mapping: "$.data.vehicleCount"
- name: coverage_limits
type: string
mapping: "$.data.coverageLimits"
- name: driver_count
type: string
mapping: "$.data.driverRosterCount"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: commercial-policies
path: "/policies/commercial/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-commercial-policy
method: GET
Pulls competitive auto insurance rates from the Arity data platform for benchmarking, returning average market rates by coverage type and state.
naftiko: "0.5"
info:
label: "Comparative Rate Check"
description: "Pulls competitive auto insurance rates from the Arity data platform for benchmarking, returning average market rates by coverage type and state."
tags:
- pricing
- analytics
- arity
capability:
exposes:
- type: mcp
namespace: pricing-analytics
port: 8080
tools:
- name: get-market-rates
description: "Retrieve competitive market rate data from Arity for benchmarking."
inputParameters:
- name: state
in: body
type: string
description: "State code for rate comparison."
- name: coverage_type
in: body
type: string
description: "Coverage type (liability, collision, comprehensive, full)."
call: "arity.get-market-rates"
with:
state: "{{state}}"
coverage: "{{coverage_type}}"
outputParameters:
- name: avg_market_rate
type: string
mapping: "$.data.averageRate"
- name: rate_range
type: string
mapping: "$.data.rateRange"
- name: progressive_position
type: string
mapping: "$.data.progressivePosition"
consumes:
- type: http
namespace: arity
baseUri: "https://api.arity.com/v1"
authentication:
type: bearer
token: "$secrets.arity_token"
resources:
- name: market-rates
path: "/rates/market"
inputParameters:
- name: state
in: query
- name: coverage
in: query
operations:
- name: get-market-rates
method: GET
Retrieves coverage verification lookup data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Coverage Verification Lookup"
description: "Retrieves coverage verification lookup data from the Progressive Insurance auto insurance systems."
tags:
- coverage
- progressive-insurance
- lookup
capability:
exposes:
- type: mcp
namespace: coverage
port: 8080
tools:
- name: coverage-verification-lookup
description: "Retrieves coverage verification lookup data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.coverage-verification-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/coverage/verification/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: coverage-verification-lookup
method: GET
Orchestrates customer 360 view assembler across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer 360 View Assembler"
description: "Orchestrates customer 360 view assembler across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- teams
- sendgrid
- datadog
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-360-view-assembler
description: "Orchestrates customer 360 view assembler across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sendgrid.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "datadog.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer billing dispute resolution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Billing Dispute Resolution Pipeline"
description: "Orchestrates customer billing dispute resolution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-billing-dispute-resolution-pipeline
description: "Orchestrates customer billing dispute resolution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer communication preferences pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Communication Preferences Pipeline"
description: "Orchestrates customer communication preferences pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- tableau
- progressive
- salesforce
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-communication-preferences-pipeline
description: "Orchestrates customer communication preferences pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "tableau.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "progressive.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Retrieves the customer contact history from Salesforce Service Cloud, returning recent interactions, case numbers, channels used, and satisfaction scores.
naftiko: "0.5"
info:
label: "Customer Contact History"
description: "Retrieves the customer contact history from Salesforce Service Cloud, returning recent interactions, case numbers, channels used, and satisfaction scores."
tags:
- customer-service
- salesforce
capability:
exposes:
- type: mcp
namespace: customer-service
port: 8080
tools:
- name: get-contact-history
description: "Look up customer interaction history from Salesforce Service Cloud."
inputParameters:
- name: customer_id
in: body
type: string
description: "The Salesforce contact ID."
call: "salesforce.query-interactions"
with:
query: "SELECT Id, Subject, Status, Channel__c, CreatedDate, CSAT__c FROM Case WHERE ContactId = '{{customer_id}}' ORDER BY CreatedDate DESC LIMIT 20"
outputParameters:
- name: interactions
type: string
mapping: "$.records"
consumes:
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: soql
path: "/query"
inputParameters:
- name: q
in: query
operations:
- name: query-interactions
method: GET
Orchestrates customer feedback routing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Feedback Routing Pipeline"
description: "Orchestrates customer feedback routing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- sendgrid
- datadog
- tableau
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-feedback-routing-pipeline
description: "Orchestrates customer feedback routing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sendgrid.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "datadog.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "tableau.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Retrieves customer lifetime value lookup data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Customer Lifetime Value Lookup"
description: "Retrieves customer lifetime value lookup data from the Progressive Insurance auto insurance systems."
tags:
- customer
- progressive-insurance
- lookup
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-lifetime-value-lookup
description: "Retrieves customer lifetime value lookup data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.customer-lifetime-value-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/customer/lifetime/value/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: customer-lifetime-value-lookup
method: GET
Orchestrates customer onboarding welcome pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Onboarding Welcome Pipeline"
description: "Orchestrates customer onboarding welcome pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-onboarding-welcome-pipeline
description: "Orchestrates customer onboarding welcome pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer referral reward pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Referral Reward Pipeline"
description: "Orchestrates customer referral reward pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-referral-reward-pipeline
description: "Orchestrates customer referral reward pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer retention risk pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Retention Risk Pipeline"
description: "Orchestrates customer retention risk pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-retention-risk-pipeline
description: "Orchestrates customer retention risk pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer self service analytics pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Self Service Analytics Pipeline"
description: "Orchestrates customer self service analytics pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- progressive-insurance
- progressive
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-self-service-analytics-pipeline
description: "Orchestrates customer self service analytics pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "progressive.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Retrieves deductible amount check data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Deductible Amount Check"
description: "Retrieves deductible amount check data from the Progressive Insurance auto insurance systems."
tags:
- deductible
- progressive-insurance
- check
capability:
exposes:
- type: mcp
namespace: deductible
port: 8080
tools:
- name: deductible-amount-check
description: "Retrieves deductible amount check data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.deductible-amount-check"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/deductible/amount/check/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: deductible-amount-check
method: GET
Generates a digital insurance ID card for a policyholder from Guidewire PolicyCenter, returning the card as a downloadable PDF link with policy details, vehicle info, and coverage effective dates.
naftiko: "0.5"
info:
label: "Digital ID Card Generation"
description: "Generates a digital insurance ID card for a policyholder from Guidewire PolicyCenter, returning the card as a downloadable PDF link with policy details, vehicle info, and coverage effective dates."
tags:
- customer-service
- policy
- guidewire
capability:
exposes:
- type: mcp
namespace: customer-docs
port: 8080
tools:
- name: generate-id-card
description: "Generate a digital insurance ID card PDF for a policy."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
call: "guidewire-pc.generate-id-card"
with:
policy_number: "{{policy_number}}"
outputParameters:
- name: download_url
type: string
mapping: "$.data.documentUrl"
- name: effective_date
type: string
mapping: "$.data.effectiveDate"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: id-cards
path: "/policies/{{policy_number}}/id-card"
inputParameters:
- name: policy_number
in: path
operations:
- name: generate-id-card
method: POST
Orchestrates digital marketing attribution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Digital Marketing Attribution Pipeline"
description: "Orchestrates digital marketing attribution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- digital
- progressive-insurance
- progressive
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: digital
port: 8080
tools:
- name: digital-marketing-attribution-pipeline
description: "Orchestrates digital marketing attribution pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "progressive.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/digital"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/digital"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/digital"
operations:
- name: execute-3
method: POST
Retrieves driver profile lookup data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Driver Profile Lookup"
description: "Retrieves driver profile lookup data from the Progressive Insurance auto insurance systems."
tags:
- driver
- progressive-insurance
- lookup
capability:
exposes:
- type: mcp
namespace: driver
port: 8080
tools:
- name: driver-profile-lookup
description: "Retrieves driver profile lookup data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.driver-profile-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/driver/profile/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: driver-profile-lookup
method: GET
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions insurance licensing access, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions insurance licensing access, and sends a Microsoft Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Given a Workday employee ID and start date, orchestrate the full onboarding sequence."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday worker ID."
- name: start_date
in: body
type: string
description: "Employee start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "Department the new hire is joining."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
assigned_group: "IT_Onboarding"
- name: send-welcome
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to Progressive, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}. We're glad you're joining the {{department}} team."
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://progressive.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
When a customer reports an accident, creates a claim in Guidewire ClaimCenter, pulls the policy details from PolicyCenter, schedules an inspection appointment in CCC Intelligent Solutions, and sends a confirmation SMS to the customer via Twilio.
naftiko: "0.5"
info:
label: "First Notice of Loss Orchestrator"
description: "When a customer reports an accident, creates a claim in Guidewire ClaimCenter, pulls the policy details from PolicyCenter, schedules an inspection appointment in CCC Intelligent Solutions, and sends a confirmation SMS to the customer via Twilio."
tags:
- claims
- fnol
- guidewire
- ccc-intelligent-solutions
- twilio
capability:
exposes:
- type: mcp
namespace: claims-fnol
port: 8080
tools:
- name: submit-fnol
description: "Given loss details and policy number, create a claim, pull policy, schedule inspection, and send confirmation."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: loss_date
in: body
type: string
description: "Date of loss in YYYY-MM-DD format."
- name: loss_description
in: body
type: string
description: "Description of the incident."
- name: customer_phone
in: body
type: string
description: "Customer phone number for SMS notification."
steps:
- name: get-policy
type: call
call: "guidewire-pc.get-policy"
with:
policy_number: "{{policy_number}}"
- name: create-claim
type: call
call: "guidewire-cc.create-claim"
with:
policy_number: "{{policy_number}}"
loss_date: "{{loss_date}}"
description: "{{loss_description}}"
insured_name: "{{get-policy.primaryInsured.displayName}}"
- name: schedule-inspection
type: call
call: "ccc.schedule-appraisal"
with:
claim_number: "{{create-claim.claim_number}}"
vehicle_vin: "{{get-policy.vehicle.vin}}"
- name: send-confirmation
type: call
call: "twilio.send-sms"
with:
to: "{{customer_phone}}"
body: "Progressive: Your claim {{create-claim.claim_number}} has been filed. Inspection scheduled for {{schedule-inspection.appointment_date}}. Your adjuster will contact you within 24 hours."
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims"
operations:
- name: create-claim
method: POST
- type: http
namespace: ccc
baseUri: "https://api.cccis.com/v2"
authentication:
type: bearer
token: "$secrets.ccc_token"
resources:
- name: appraisals
path: "/appraisals"
operations:
- name: schedule-appraisal
method: POST
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Accounts/{{account_sid}}/Messages.json"
inputParameters:
- name: account_sid
in: path
operations:
- name: send-sms
method: POST
Retrieves fleet policy summary data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Fleet Policy Summary"
description: "Retrieves fleet policy summary data from the Progressive Insurance auto insurance systems."
tags:
- fleet
- progressive-insurance
- summary
capability:
exposes:
- type: mcp
namespace: fleet
port: 8080
tools:
- name: fleet-policy-summary
description: "Retrieves fleet policy summary data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.fleet-policy-summary"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/fleet/policy/summary/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: fleet-policy-summary
method: GET
Orchestrates fleet risk assessment pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Fleet Risk Assessment Pipeline"
description: "Orchestrates fleet risk assessment pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- fleet
- progressive-insurance
- tableau
- progressive
- salesforce
capability:
exposes:
- type: mcp
namespace: fleet
port: 8080
tools:
- name: fleet-risk-assessment-pipeline
description: "Orchestrates fleet risk assessment pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "tableau.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "progressive.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/fleet"
operations:
- name: execute-1
method: POST
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/fleet"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/fleet"
operations:
- name: execute-3
method: POST
When a potential fraud signal is detected, pulls the claim details from Guidewire ClaimCenter, runs a fraud screening through the SIU analytics engine, creates an investigation case in ServiceNow, and alerts the Special Investigations Unit in Slack.
naftiko: "0.5"
info:
label: "Fraud Detection Alert Orchestrator"
description: "When a potential fraud signal is detected, pulls the claim details from Guidewire ClaimCenter, runs a fraud screening through the SIU analytics engine, creates an investigation case in ServiceNow, and alerts the Special Investigations Unit in Slack."
tags:
- claims
- fraud
- guidewire
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: fraud-detection
port: 8080
tools:
- name: process-fraud-alert
description: "Given a claim number and fraud indicator, screen the claim, create an SIU case, and alert the investigation team."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: fraud_indicator
in: body
type: string
description: "The type of fraud indicator detected."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: run-fraud-screen
type: call
call: "siu-analytics.screen-claim"
with:
claim_number: "{{claim_number}}"
loss_amount: "{{get-claim.totalIncurred}}"
indicator: "{{fraud_indicator}}"
- name: create-siu-case
type: call
call: "servicenow.create-case"
with:
short_description: "SIU Investigation: Claim {{claim_number}}"
description: "Fraud indicator: {{fraud_indicator}}. Score: {{run-fraud-screen.fraud_score}}. Claim amount: {{get-claim.totalIncurred}}."
assignment_group: "Special_Investigations"
- name: alert-siu
type: call
call: "slack.post-message"
with:
channel: "#siu-alerts"
text: "Fraud alert on claim {{claim_number}}. Indicator: {{fraud_indicator}}. Fraud score: {{run-fraud-screen.fraud_score}}. SIU case: {{create-siu-case.number}}."
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- type: http
namespace: siu-analytics
baseUri: "https://api.progressive.com/internal/siu/v1"
authentication:
type: bearer
token: "$secrets.siu_token"
resources:
- name: screening
path: "/screen"
operations:
- name: screen-claim
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_si_case"
operations:
- name: create-case
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 gap insurance eligibility data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Gap Insurance Eligibility"
description: "Retrieves gap insurance eligibility data from the Progressive Insurance auto insurance systems."
tags:
- gap
- progressive-insurance
- eligibility
capability:
exposes:
- type: mcp
namespace: gap
port: 8080
tools:
- name: gap-insurance-eligibility
description: "Retrieves gap insurance eligibility data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.gap-insurance-eligibility"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/gap/insurance/eligibility/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: gap-insurance-eligibility
method: GET
Retrieves glass claim details and dispatches a glass repair vendor through Safelite, returning the appointment date, repair type, and vendor location.
naftiko: "0.5"
info:
label: "Glass Claim Processing"
description: "Retrieves glass claim details and dispatches a glass repair vendor through Safelite, returning the appointment date, repair type, and vendor location."
tags:
- claims
- glass
- safelite
capability:
exposes:
- type: mcp
namespace: glass-claims
port: 8080
tools:
- name: process-glass-claim
description: "Given a claim number, dispatch glass repair through Safelite."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: zip_code
in: body
type: string
description: "Customer ZIP code for vendor dispatch."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: dispatch-repair
type: call
call: "safelite.schedule-repair"
with:
claim_number: "{{claim_number}}"
vehicle_vin: "{{get-claim.vehicle.vin}}"
zip: "{{zip_code}}"
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- type: http
namespace: safelite
baseUri: "https://api.safelite.com/v2"
authentication:
type: bearer
token: "$secrets.safelite_token"
resources:
- name: repairs
path: "/repairs"
operations:
- name: schedule-repair
method: POST
Orchestrates glass repair vendor dispatch pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Glass Repair Vendor Dispatch Pipeline"
description: "Orchestrates glass repair vendor dispatch pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- glass
- progressive-insurance
- jira
- teams
- sendgrid
capability:
exposes:
- type: mcp
namespace: glass
port: 8080
tools:
- name: glass-repair-vendor-dispatch-pipeline
description: "Orchestrates glass repair vendor dispatch pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sendgrid.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/glass"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/glass"
operations:
- name: execute-2
method: POST
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/glass"
operations:
- name: execute-3
method: POST
Identifies auto-only customers eligible for homeowner bundling by querying Guidewire PolicyCenter, checks home eligibility through the property data provider, generates a bundled quote, and sends a personalized offer via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Homeowner Policy Cross-Sell Orchestrator"
description: "Identifies auto-only customers eligible for homeowner bundling by querying Guidewire PolicyCenter, checks home eligibility through the property data provider, generates a bundled quote, and sends a personalized offer via Salesforce Marketing Cloud."
tags:
- underwriting
- pricing
- cross-sell
- guidewire
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: cross-sell
port: 8080
tools:
- name: generate-bundle-offer
description: "Given a policy number, check home eligibility, generate a bundled quote, and send personalized offer."
inputParameters:
- name: policy_number
in: body
type: string
description: "The auto policy number."
- name: property_address
in: body
type: string
description: "The customer's property address for home quote."
steps:
- name: get-auto-policy
type: call
call: "guidewire-pc.get-policy"
with:
policy_number: "{{policy_number}}"
- name: check-property
type: call
call: "property-data.get-risk-assessment"
with:
address: "{{property_address}}"
- name: generate-bundle-quote
type: call
call: "guidewire-pc.create-bundle-quote"
with:
auto_policy: "{{policy_number}}"
property_risk: "{{check-property.risk_score}}"
property_value: "{{check-property.estimated_value}}"
- name: send-offer
type: call
call: "sfmc.send-email"
with:
template: "bundle_offer"
to: "{{get-auto-policy.primaryInsured.email}}"
merge_name: "{{get-auto-policy.primaryInsured.displayName}}"
merge_bundle_savings: "{{generate-bundle-quote.bundle_discount}}"
merge_bundle_premium: "{{generate-bundle-quote.total_bundle_premium}}"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- name: bundle-quotes
path: "/quotes/bundle"
operations:
- name: create-bundle-quote
method: POST
- type: http
namespace: property-data
baseUri: "https://api.progressive.com/internal/property/v1"
authentication:
type: bearer
token: "$secrets.property_data_token"
resources:
- name: risk
path: "/assessments"
operations:
- name: get-risk-assessment
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Orchestrates injury claim medical review pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Injury Claim Medical Review Pipeline"
description: "Orchestrates injury claim medical review pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- injury
- progressive-insurance
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: injury
port: 8080
tools:
- name: injury-claim-medical-review-pipeline
description: "Orchestrates injury claim medical review pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/injury"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/injury"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/injury"
operations:
- name: execute-3
method: POST
Creates an IT service desk ticket in ServiceNow for Progressive employees, covering system access, VPN issues, and application support.
naftiko: "0.5"
info:
label: "IT Service Desk Ticket"
description: "Creates an IT service desk ticket in ServiceNow for Progressive employees, covering system access, VPN issues, and application support."
tags:
- it-support
- servicenow
capability:
exposes:
- type: mcp
namespace: it-support
port: 8080
tools:
- name: create-it-ticket
description: "Submit an IT service desk ticket to ServiceNow."
inputParameters:
- name: category
in: body
type: string
description: "Category (access, vpn, application, hardware)."
- name: description
in: body
type: string
description: "Description of the issue."
- name: priority
in: body
type: string
description: "Priority (low, medium, high, critical)."
call: "servicenow.create-incident"
with:
category: "{{category}}"
short_description: "IT Support: {{category}}"
description: "{{description}}"
priority: "{{priority}}"
outputParameters:
- name: ticket_number
type: string
mapping: "$.result.number"
consumes:
- type: http
namespace: servicenow
baseUri: "https://progressive.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
Generates a loss run report for a commercial or personal lines account from Guidewire ClaimCenter, returning claims history, total paid, total reserved, and loss ratio.
naftiko: "0.5"
info:
label: "Loss Run Report Generation"
description: "Generates a loss run report for a commercial or personal lines account from Guidewire ClaimCenter, returning claims history, total paid, total reserved, and loss ratio."
tags:
- claims
- reporting
- guidewire
capability:
exposes:
- type: mcp
namespace: claims-reporting
port: 8080
tools:
- name: generate-loss-run
description: "Generate a loss run report for a policy or account from Guidewire ClaimCenter."
inputParameters:
- name: account_number
in: body
type: string
description: "The account number."
- name: start_date
in: body
type: string
description: "Report start date."
- name: end_date
in: body
type: string
description: "Report end date."
call: "guidewire-cc.generate-loss-run"
with:
account: "{{account_number}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
outputParameters:
- name: total_claims
type: string
mapping: "$.data.totalClaims"
- name: total_paid
type: string
mapping: "$.data.totalPaid"
- name: total_reserved
type: string
mapping: "$.data.totalReserved"
- name: loss_ratio
type: string
mapping: "$.data.lossRatio"
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: reports
path: "/reports/loss-run"
inputParameters:
- name: account
in: query
- name: start_date
in: query
- name: end_date
in: query
operations:
- name: generate-loss-run
method: GET
Processes a medical payment claim (MedPay) by pulling the claim from Guidewire ClaimCenter, verifying medical bills against the coverage limit, issuing payment via BillingCenter, and notifying the claimant via Twilio.
naftiko: "0.5"
info:
label: "Medical Payment Processing Orchestrator"
description: "Processes a medical payment claim (MedPay) by pulling the claim from Guidewire ClaimCenter, verifying medical bills against the coverage limit, issuing payment via BillingCenter, and notifying the claimant via Twilio."
tags:
- claims
- medical
- guidewire
- twilio
capability:
exposes:
- type: mcp
namespace: medpay
port: 8080
tools:
- name: process-medpay-claim
description: "Given a claim number and medical bill amount, verify coverage, issue payment, and notify claimant."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: bill_amount
in: body
type: string
description: "Medical bill amount."
- name: provider_name
in: body
type: string
description: "Medical provider name."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: issue-payment
type: call
call: "guidewire-bc.create-payment"
with:
claim_number: "{{claim_number}}"
amount: "{{bill_amount}}"
payee: "{{provider_name}}"
type: "medpay"
- name: notify-claimant
type: call
call: "twilio.send-sms"
with:
to: "{{get-claim.primaryInsured.phone}}"
body: "Progressive: MedPay of ${{bill_amount}} to {{provider_name}} for claim {{claim_number}} has been processed. Ref: {{issue-payment.payment_id}}."
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: payments
path: "/payments"
operations:
- name: create-payment
method: POST
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Accounts/{{account_sid}}/Messages.json"
inputParameters:
- name: account_sid
in: path
operations:
- name: send-sms
method: POST
Generates a motorcycle insurance quote from Guidewire PolicyCenter, returning premium, coverage options, and applicable discounts for a motorcycle VIN.
naftiko: "0.5"
info:
label: "Motorcycle Policy Quote"
description: "Generates a motorcycle insurance quote from Guidewire PolicyCenter, returning premium, coverage options, and applicable discounts for a motorcycle VIN."
tags:
- pricing
- underwriting
- guidewire
- motorcycle
capability:
exposes:
- type: mcp
namespace: motorcycle-quoting
port: 8080
tools:
- name: generate-motorcycle-quote
description: "Generate a motorcycle insurance quote from Guidewire PolicyCenter."
inputParameters:
- name: vin
in: body
type: string
description: "The motorcycle VIN."
- name: driver_info
in: body
type: string
description: "JSON with driver details."
call: "guidewire-pc.create-motorcycle-quote"
with:
vin: "{{vin}}"
driver: "{{driver_info}}"
outputParameters:
- name: quote_number
type: string
mapping: "$.data.quoteNumber"
- name: premium
type: string
mapping: "$.data.totalPremium"
- name: discounts
type: string
mapping: "$.data.appliedDiscounts"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: motorcycle-quotes
path: "/quotes/motorcycle"
operations:
- name: create-motorcycle-quote
method: POST
Orchestrates multi policy discount calculator pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Multi Policy Discount Calculator Pipeline"
description: "Orchestrates multi policy discount calculator pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- multi
- progressive-insurance
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: multi
port: 8080
tools:
- name: multi-policy-discount-calculator-pipeline
description: "Orchestrates multi policy discount calculator pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/multi"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/multi"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/multi"
operations:
- name: execute-3
method: POST
Pulls a motor vehicle record from LexisNexis for an applicant, returning violations, accidents, license status, and points on license.
naftiko: "0.5"
info:
label: "MVR Report Lookup"
description: "Pulls a motor vehicle record from LexisNexis for an applicant, returning violations, accidents, license status, and points on license."
tags:
- underwriting
- lexisnexis
capability:
exposes:
- type: mcp
namespace: underwriting-data
port: 8080
tools:
- name: get-mvr-report
description: "Retrieve a motor vehicle record from LexisNexis."
inputParameters:
- name: license_number
in: body
type: string
description: "Driver license number."
- name: state
in: body
type: string
description: "State of issuance."
call: "lexisnexis.get-mvr"
with:
license_number: "{{license_number}}"
state: "{{state}}"
outputParameters:
- name: violations
type: string
mapping: "$.data.violations"
- name: accidents
type: string
mapping: "$.data.accidents"
- name: license_status
type: string
mapping: "$.data.licenseStatus"
- name: points
type: string
mapping: "$.data.totalPoints"
consumes:
- type: http
namespace: lexisnexis
baseUri: "https://api.lexisnexis.com/insurance/v2"
authentication:
type: bearer
token: "$secrets.lexisnexis_token"
resources:
- name: mvr
path: "/motor-vehicle-records"
operations:
- name: get-mvr
method: POST
Orchestrates new policy issuance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "New Policy Issuance Pipeline"
description: "Orchestrates new policy issuance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- new
- progressive-insurance
- progressive
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: new
port: 8080
tools:
- name: new-policy-issuance-pipeline
description: "Orchestrates new policy issuance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "progressive.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/new"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/new"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/new"
operations:
- name: execute-3
method: POST
Processes a premium payment for a policy through Guidewire BillingCenter, accepting payment method details and returning a payment confirmation and updated balance.
naftiko: "0.5"
info:
label: "Payment Processing"
description: "Processes a premium payment for a policy through Guidewire BillingCenter, accepting payment method details and returning a payment confirmation and updated balance."
tags:
- billing
- customer-service
- guidewire
capability:
exposes:
- type: mcp
namespace: billing
port: 8080
tools:
- name: process-payment
description: "Process a premium payment through Guidewire BillingCenter."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: amount
in: body
type: string
description: "Payment amount."
- name: payment_method
in: body
type: string
description: "Payment method (credit_card, bank_transfer, check)."
call: "guidewire-bc.create-payment"
with:
policy_number: "{{policy_number}}"
amount: "{{amount}}"
method: "{{payment_method}}"
outputParameters:
- name: confirmation_number
type: string
mapping: "$.data.confirmationNumber"
- name: remaining_balance
type: string
mapping: "$.data.remainingBalance"
consumes:
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: payments
path: "/payments"
operations:
- name: create-payment
method: POST
Generates a pet insurance quote from the pet insurance underwriting system, returning monthly premium, deductible options, coverage levels, and breed-specific exclusions.
naftiko: "0.5"
info:
label: "Pet Insurance Quote"
description: "Generates a pet insurance quote from the pet insurance underwriting system, returning monthly premium, deductible options, coverage levels, and breed-specific exclusions."
tags:
- pricing
- underwriting
- pet-insurance
capability:
exposes:
- type: mcp
namespace: pet-quoting
port: 8080
tools:
- name: generate-pet-quote
description: "Generate a pet insurance quote."
inputParameters:
- name: pet_name
in: body
type: string
description: "Pet name."
- name: species
in: body
type: string
description: "Species (dog, cat)."
- name: breed
in: body
type: string
description: "Pet breed."
- name: age
in: body
type: string
description: "Pet age in years."
- name: zip_code
in: body
type: string
description: "Owner ZIP code."
call: "pet-uw.create-quote"
with:
pet_name: "{{pet_name}}"
species: "{{species}}"
breed: "{{breed}}"
age: "{{age}}"
zip: "{{zip_code}}"
outputParameters:
- name: monthly_premium
type: string
mapping: "$.data.monthlyPremium"
- name: deductible_options
type: string
mapping: "$.data.deductibleOptions"
- name: coverage_level
type: string
mapping: "$.data.coverageLevel"
consumes:
- type: http
namespace: pet-uw
baseUri: "https://api.progressive.com/internal/pet-insurance/v1"
authentication:
type: bearer
token: "$secrets.pet_uw_token"
resources:
- name: quotes
path: "/quotes"
operations:
- name: create-quote
method: POST
Processes a customer-submitted photo estimate by uploading photos to CCC Intelligent Solutions, triggering the AI damage assessment, and creating a preliminary estimate linked to the claim in Guidewire ClaimCenter.
naftiko: "0.5"
info:
label: "Photo Estimate Upload Orchestrator"
description: "Processes a customer-submitted photo estimate by uploading photos to CCC Intelligent Solutions, triggering the AI damage assessment, and creating a preliminary estimate linked to the claim in Guidewire ClaimCenter."
tags:
- claims
- damage-estimate
- ccc-intelligent-solutions
- guidewire
capability:
exposes:
- type: mcp
namespace: photo-estimate
port: 8080
tools:
- name: process-photo-estimate
description: "Given a claim number and photo URLs, upload to CCC for AI assessment and link estimate to claim."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: photo_urls
in: body
type: string
description: "Comma-separated URLs of damage photos."
steps:
- name: upload-photos
type: call
call: "ccc.upload-photos"
with:
claim_number: "{{claim_number}}"
photos: "{{photo_urls}}"
- name: get-ai-estimate
type: call
call: "ccc.get-ai-estimate"
with:
upload_id: "{{upload-photos.upload_id}}"
- name: link-to-claim
type: call
call: "guidewire-cc.attach-estimate"
with:
claim_number: "{{claim_number}}"
estimate_id: "{{get-ai-estimate.estimate_id}}"
estimated_cost: "{{get-ai-estimate.total_cost}}"
consumes:
- type: http
namespace: ccc
baseUri: "https://api.cccis.com/v2"
authentication:
type: bearer
token: "$secrets.ccc_token"
resources:
- name: photos
path: "/uploads"
operations:
- name: upload-photos
method: POST
- name: ai-estimates
path: "/ai-estimates/{{upload_id}}"
inputParameters:
- name: upload_id
in: path
operations:
- name: get-ai-estimate
method: GET
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: estimates
path: "/claims/{{claim_number}}/estimates"
inputParameters:
- name: claim_number
in: path
operations:
- name: attach-estimate
method: POST
Orchestrates policy audit compliance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Audit Compliance Pipeline"
description: "Orchestrates policy audit compliance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- progressive-insurance
- progressive
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-audit-compliance-pipeline
description: "Orchestrates policy audit compliance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "progressive.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Processes a policy cancellation by updating the policy in Guidewire PolicyCenter, calculating the refund in BillingCenter, sending a cancellation notice via Salesforce Marketing Cloud, and archiving documents.
naftiko: "0.5"
info:
label: "Policy Cancellation Orchestrator"
description: "Processes a policy cancellation by updating the policy in Guidewire PolicyCenter, calculating the refund in BillingCenter, sending a cancellation notice via Salesforce Marketing Cloud, and archiving documents."
tags:
- underwriting
- billing
- guidewire
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: policy-cancellation
port: 8080
tools:
- name: process-cancellation
description: "Given a policy number and reason, cancel the policy, calculate refund, and notify customer."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: cancellation_reason
in: body
type: string
description: "Reason for cancellation."
- name: effective_date
in: body
type: string
description: "Cancellation effective date."
steps:
- name: cancel-policy
type: call
call: "guidewire-pc.cancel-policy"
with:
policy_number: "{{policy_number}}"
reason: "{{cancellation_reason}}"
effective_date: "{{effective_date}}"
- name: calculate-refund
type: call
call: "guidewire-bc.calculate-refund"
with:
policy_number: "{{policy_number}}"
cancel_date: "{{effective_date}}"
- name: send-notice
type: call
call: "sfmc.send-email"
with:
template: "cancellation_notice"
to: "{{cancel-policy.insured_email}}"
merge_policy: "{{policy_number}}"
merge_refund: "{{calculate-refund.refund_amount}}"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: cancellations
path: "/policies/{{policy_number}}/cancel"
inputParameters:
- name: policy_number
in: path
operations:
- name: cancel-policy
method: POST
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: refunds
path: "/accounts/{{policy_number}}/refund-calculation"
inputParameters:
- name: policy_number
in: path
operations:
- name: calculate-refund
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Retrieves policy coverage limits lookup data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Policy Coverage Limits Lookup"
description: "Retrieves policy coverage limits lookup data from the Progressive Insurance auto insurance systems."
tags:
- policy
- progressive-insurance
- lookup
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-coverage-limits-lookup
description: "Retrieves policy coverage limits lookup data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.policy-coverage-limits-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/policy/coverage/limits/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: policy-coverage-limits-lookup
method: GET
Retrieves policy document retrieval data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Policy Document Retrieval"
description: "Retrieves policy document retrieval data from the Progressive Insurance auto insurance systems."
tags:
- policy
- progressive-insurance
- retrieval
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-document-retrieval
description: "Retrieves policy document retrieval data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.policy-document-retrieval"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/policy/document/retrieval/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: policy-document-retrieval
method: GET
Processes a mid-term policy change by applying the endorsement in Guidewire PolicyCenter, recalculating billing in BillingCenter, and sending a policy change confirmation via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Policy Endorsement Orchestrator"
description: "Processes a mid-term policy change by applying the endorsement in Guidewire PolicyCenter, recalculating billing in BillingCenter, and sending a policy change confirmation via Salesforce Marketing Cloud."
tags:
- underwriting
- billing
- guidewire
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: policy-changes
port: 8080
tools:
- name: process-endorsement
description: "Given a policy number and change details, apply endorsement, update billing, and send confirmation."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: change_type
in: body
type: string
description: "Type of change (add_vehicle, remove_vehicle, add_driver, change_coverage, change_address)."
- name: change_details
in: body
type: string
description: "JSON with the endorsement change details."
steps:
- name: apply-endorsement
type: call
call: "guidewire-pc.create-endorsement"
with:
policy_number: "{{policy_number}}"
change_type: "{{change_type}}"
details: "{{change_details}}"
- name: update-billing
type: call
call: "guidewire-bc.recalculate-billing"
with:
policy_number: "{{policy_number}}"
premium_change: "{{apply-endorsement.premium_delta}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "policy_change_confirmation"
to: "{{apply-endorsement.insured_email}}"
merge_policy: "{{policy_number}}"
merge_change: "{{change_type}}"
merge_new_premium: "{{apply-endorsement.new_premium}}"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: endorsements
path: "/policies/{{policy_number}}/endorsements"
inputParameters:
- name: policy_number
in: path
operations:
- name: create-endorsement
method: POST
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: billing
path: "/accounts/{{policy_number}}/recalculate"
inputParameters:
- name: policy_number
in: path
operations:
- name: recalculate-billing
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Orchestrates policy endorsement processing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Endorsement Processing Pipeline"
description: "Orchestrates policy endorsement processing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- progressive-insurance
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-endorsement-processing-pipeline
description: "Orchestrates policy endorsement processing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Orchestrates policy lapse prevention pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Lapse Prevention Pipeline"
description: "Orchestrates policy lapse prevention pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- progressive-insurance
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-lapse-prevention-pipeline
description: "Orchestrates policy lapse prevention pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Retrieves an auto insurance policy from the Guidewire PolicyCenter by policy number, returning policyholder name, coverage details, effective dates, and premium amount.
naftiko: "0.5"
info:
label: "Policy Lookup"
description: "Retrieves an auto insurance policy from the Guidewire PolicyCenter by policy number, returning policyholder name, coverage details, effective dates, and premium amount."
tags:
- underwriting
- policy
- guidewire
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: get-policy
description: "Look up an auto insurance policy by policy number from Guidewire PolicyCenter."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
call: "guidewire-pc.get-policy"
with:
policy_number: "{{policy_number}}"
outputParameters:
- name: policyholder
type: string
mapping: "$.data.primaryInsured.displayName"
- name: coverage_type
type: string
mapping: "$.data.coverageType"
- name: effective_date
type: string
mapping: "$.data.effectiveDate"
- name: expiration_date
type: string
mapping: "$.data.expirationDate"
- name: premium
type: string
mapping: "$.data.totalPremium"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
Orchestrates policy migration pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Migration Pipeline"
description: "Orchestrates policy migration pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- progressive-insurance
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-migration-pipeline
description: "Orchestrates policy migration pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Processes a policy renewal by recalculating the premium in Guidewire PolicyCenter, applying Snapshot telematics discounts, generating a renewal offer, and sending the renewal notice via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Policy Renewal Orchestrator"
description: "Processes a policy renewal by recalculating the premium in Guidewire PolicyCenter, applying Snapshot telematics discounts, generating a renewal offer, and sending the renewal notice via Salesforce Marketing Cloud."
tags:
- underwriting
- pricing
- guidewire
- snapshot
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: policy-renewal
port: 8080
tools:
- name: process-renewal
description: "Given a policy number, recalculate premium with telematics, generate renewal offer, and send notice to customer."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number to renew."
steps:
- name: get-policy
type: call
call: "guidewire-pc.get-policy"
with:
policy_number: "{{policy_number}}"
- name: get-snapshot
type: call
call: "snapshot.get-score"
with:
policy_number: "{{policy_number}}"
- name: create-renewal
type: call
call: "guidewire-pc.create-renewal"
with:
policy_number: "{{policy_number}}"
snapshot_discount: "{{get-snapshot.discountEligible}}"
snapshot_score: "{{get-snapshot.overallScore}}"
- name: send-notice
type: call
call: "sfmc.send-email"
with:
template: "renewal_notice"
to: "{{get-policy.primaryInsured.email}}"
merge_policy: "{{policy_number}}"
merge_new_premium: "{{create-renewal.new_premium}}"
merge_effective_date: "{{create-renewal.effective_date}}"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- name: renewals
path: "/policies/{{policy_number}}/renew"
inputParameters:
- name: policy_number
in: path
operations:
- name: create-renewal
method: POST
- type: http
namespace: snapshot
baseUri: "https://api.progressive.com/snapshot/v2"
authentication:
type: bearer
token: "$secrets.snapshot_token"
resources:
- name: scores
path: "/policies/{{policy_number}}/score"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-score
method: GET
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Orchestrates policy renewal pricing optimizer across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Renewal Pricing Optimizer"
description: "Orchestrates policy renewal pricing optimizer across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- progressive-insurance
- teams
- sendgrid
- datadog
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-renewal-pricing-optimizer
description: "Orchestrates policy renewal pricing optimizer across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sendgrid.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "datadog.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Verifies a policyholder's eligibility for discounts by checking multi-policy status in Guidewire, safe driver history from LexisNexis, homeownership from property data, and applying all eligible discounts to the policy.
naftiko: "0.5"
info:
label: "Policyholder Discount Verification Orchestrator"
description: "Verifies a policyholder's eligibility for discounts by checking multi-policy status in Guidewire, safe driver history from LexisNexis, homeownership from property data, and applying all eligible discounts to the policy."
tags:
- pricing
- underwriting
- guidewire
- lexisnexis
capability:
exposes:
- type: mcp
namespace: discount-verification
port: 8080
tools:
- name: verify-discounts
description: "Given a policy number, check all discount eligibility and apply."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
steps:
- name: get-policy
type: call
call: "guidewire-pc.get-policy"
with:
policy_number: "{{policy_number}}"
- name: check-mvr
type: call
call: "lexisnexis.get-mvr"
with:
license_number: "{{get-policy.driver.licenseNumber}}"
state: "{{get-policy.driver.state}}"
- name: check-homeowner
type: call
call: "property-data.check-ownership"
with:
name: "{{get-policy.primaryInsured.displayName}}"
state: "{{get-policy.primaryInsured.state}}"
- name: apply-discounts
type: call
call: "guidewire-pc.apply-discounts"
with:
policy_number: "{{policy_number}}"
safe_driver: "{{check-mvr.clean_record}}"
homeowner: "{{check-homeowner.is_owner}}"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- name: discounts
path: "/policies/{{policy_number}}/discounts"
inputParameters:
- name: policy_number
in: path
operations:
- name: apply-discounts
method: POST
- type: http
namespace: lexisnexis
baseUri: "https://api.lexisnexis.com/insurance/v2"
authentication:
type: bearer
token: "$secrets.lexisnexis_token"
resources:
- name: mvr
path: "/motor-vehicle-records"
operations:
- name: get-mvr
method: POST
- type: http
namespace: property-data
baseUri: "https://api.progressive.com/internal/property/v1"
authentication:
type: bearer
token: "$secrets.property_data_token"
resources:
- name: ownership
path: "/ownership-checks"
operations:
- name: check-ownership
method: POST
When a customer uploads a document (license, registration, proof of residence), stores it in the document management system, links it to the policy in Guidewire, and sends a confirmation email via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Policyholder Document Upload Orchestrator"
description: "When a customer uploads a document (license, registration, proof of residence), stores it in the document management system, links it to the policy in Guidewire, and sends a confirmation email via Salesforce Marketing Cloud."
tags:
- customer-service
- documents
- guidewire
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: document-mgmt
port: 8080
tools:
- name: process-document-upload
description: "Given a policy number and document, store it, link to policy, and confirm."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: document_type
in: body
type: string
description: "Type (drivers_license, registration, proof_of_residence)."
- name: document_url
in: body
type: string
description: "URL of the uploaded document."
steps:
- name: store-document
type: call
call: "doc-mgmt.upload-document"
with:
policy_number: "{{policy_number}}"
type: "{{document_type}}"
url: "{{document_url}}"
- name: link-to-policy
type: call
call: "guidewire-pc.attach-document"
with:
policy_number: "{{policy_number}}"
document_id: "{{store-document.document_id}}"
type: "{{document_type}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "document_received"
to: "{{link-to-policy.insured_email}}"
merge_doc_type: "{{document_type}}"
consumes:
- type: http
namespace: doc-mgmt
baseUri: "https://api.progressive.com/internal/docs/v1"
authentication:
type: bearer
token: "$secrets.doc_mgmt_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: documents
path: "/policies/{{policy_number}}/documents"
inputParameters:
- name: policy_number
in: path
operations:
- name: attach-document
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.progressive.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Retrieves premium payment history data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Premium Payment History"
description: "Retrieves premium payment history data from the Progressive Insurance auto insurance systems."
tags:
- premium
- progressive-insurance
- history
capability:
exposes:
- type: mcp
namespace: premium
port: 8080
tools:
- name: premium-payment-history
description: "Retrieves premium payment history data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.premium-payment-history"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/premium/payment/history/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: premium-payment-history
method: GET
Orchestrates product launch readiness pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Product Launch Readiness Pipeline"
description: "Orchestrates product launch readiness pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- product
- progressive-insurance
- datadog
- tableau
- progressive
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-launch-readiness-pipeline
description: "Orchestrates product launch readiness pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "datadog.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "tableau.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "progressive.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/product"
operations:
- name: execute-1
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/product"
operations:
- name: execute-2
method: POST
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: progressive-resource
path: "/api/product"
operations:
- name: execute-3
method: POST
Generates an auto insurance quote from the Guidewire PolicyCenter rating engine, returning premium breakdown by coverage, discounts applied, and total premium.
naftiko: "0.5"
info:
label: "Quote Generation"
description: "Generates an auto insurance quote from the Guidewire PolicyCenter rating engine, returning premium breakdown by coverage, discounts applied, and total premium."
tags:
- pricing
- underwriting
- guidewire
capability:
exposes:
- type: mcp
namespace: quoting
port: 8080
tools:
- name: generate-quote
description: "Generate an auto insurance quote from Guidewire PolicyCenter."
inputParameters:
- name: driver_info
in: body
type: string
description: "JSON object with driver details (name, dob, license_number, state)."
- name: vehicle_info
in: body
type: string
description: "JSON object with vehicle details (vin, year, make, model)."
- name: coverage_selections
in: body
type: string
description: "JSON object with desired coverage levels."
call: "guidewire-pc.create-quote"
with:
driver: "{{driver_info}}"
vehicle: "{{vehicle_info}}"
coverages: "{{coverage_selections}}"
outputParameters:
- name: quote_number
type: string
mapping: "$.data.quoteNumber"
- name: total_premium
type: string
mapping: "$.data.totalPremium"
- name: coverage_breakdown
type: string
mapping: "$.data.coverageBreakdown"
- name: discounts
type: string
mapping: "$.data.appliedDiscounts"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: quotes
path: "/quotes"
operations:
- name: create-quote
method: POST
Orchestrates regulatory rate filing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Regulatory Rate Filing Pipeline"
description: "Orchestrates regulatory rate filing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- regulatory
- progressive-insurance
- sendgrid
- datadog
- tableau
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: regulatory-rate-filing-pipeline
description: "Orchestrates regulatory rate filing pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sendgrid.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "datadog.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "tableau.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/regulatory"
operations:
- name: execute-1
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/regulatory"
operations:
- name: execute-2
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.progressive.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/regulatory"
operations:
- name: execute-3
method: POST
When a claimant needs a rental vehicle, verifies rental coverage on the policy, books a rental through Enterprise via their API, and updates the claim with rental details in Guidewire ClaimCenter.
naftiko: "0.5"
info:
label: "Rental Car Reservation Orchestrator"
description: "When a claimant needs a rental vehicle, verifies rental coverage on the policy, books a rental through Enterprise via their API, and updates the claim with rental details in Guidewire ClaimCenter."
tags:
- claims
- rental
- guidewire
- enterprise-rent-a-car
capability:
exposes:
- type: mcp
namespace: claims-rental
port: 8080
tools:
- name: book-rental-car
description: "Given a claim number and pickup details, verify coverage, book a rental, and update the claim."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: pickup_date
in: body
type: string
description: "Pickup date in YYYY-MM-DD format."
- name: pickup_location
in: body
type: string
description: "Pickup location ZIP code."
- name: duration_days
in: body
type: string
description: "Number of rental days."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: book-rental
type: call
call: "enterprise.create-reservation"
with:
claim_number: "{{claim_number}}"
pickup_date: "{{pickup_date}}"
pickup_zip: "{{pickup_location}}"
duration: "{{duration_days}}"
daily_rate_limit: "{{get-claim.rentalCoverageLimit}}"
- name: update-claim
type: call
call: "guidewire-cc.update-claim"
with:
claim_number: "{{claim_number}}"
rental_confirmation: "{{book-rental.confirmation_number}}"
rental_cost: "{{book-rental.total_cost}}"
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- name: update-claim
method: PATCH
- type: http
namespace: enterprise
baseUri: "https://api.enterprise.com/v2"
authentication:
type: bearer
token: "$secrets.enterprise_token"
resources:
- name: reservations
path: "/reservations"
operations:
- name: create-reservation
method: POST
Retrieves rideshare coverage status data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Rideshare Coverage Status"
description: "Retrieves rideshare coverage status data from the Progressive Insurance auto insurance systems."
tags:
- rideshare
- progressive-insurance
- status
capability:
exposes:
- type: mcp
namespace: rideshare
port: 8080
tools:
- name: rideshare-coverage-status
description: "Retrieves rideshare coverage status data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.rideshare-coverage-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/rideshare/coverage/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: rideshare-coverage-status
method: GET
Dispatches roadside assistance by looking up the policy in Guidewire and submitting a service request to the Agero roadside assistance platform, returning the service provider, ETA, and tracking link.
naftiko: "0.5"
info:
label: "Roadside Assistance Dispatch"
description: "Dispatches roadside assistance by looking up the policy in Guidewire and submitting a service request to the Agero roadside assistance platform, returning the service provider, ETA, and tracking link."
tags:
- customer-service
- roadside
- guidewire
- agero
capability:
exposes:
- type: mcp
namespace: roadside
port: 8080
tools:
- name: dispatch-roadside-assistance
description: "Given a policy number and location, verify coverage and dispatch roadside assistance via Agero."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: service_type
in: body
type: string
description: "Type of service (tow, jumpstart, lockout, flat_tire, fuel_delivery)."
- name: latitude
in: body
type: string
description: "Current latitude."
- name: longitude
in: body
type: string
description: "Current longitude."
steps:
- name: verify-coverage
type: call
call: "guidewire-pc.get-policy"
with:
policy_number: "{{policy_number}}"
- name: dispatch-service
type: call
call: "agero.create-dispatch"
with:
policy_number: "{{policy_number}}"
service_type: "{{service_type}}"
latitude: "{{latitude}}"
longitude: "{{longitude}}"
vehicle_vin: "{{verify-coverage.vehicle.vin}}"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- type: http
namespace: agero
baseUri: "https://api.agero.com/v2"
authentication:
type: bearer
token: "$secrets.agero_token"
resources:
- name: dispatches
path: "/dispatches"
operations:
- name: create-dispatch
method: POST
Orchestrates roadside vendor performance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Roadside Vendor Performance Pipeline"
description: "Orchestrates roadside vendor performance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- roadside
- progressive-insurance
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: roadside
port: 8080
tools:
- name: roadside-vendor-performance-pipeline
description: "Orchestrates roadside vendor performance pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/roadside"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/roadside"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/roadside"
operations:
- name: execute-3
method: POST
Generates a recreational vehicle insurance quote from Guidewire PolicyCenter, returning premium, full-timer coverage options, and vacation liability limits.
naftiko: "0.5"
info:
label: "RV Insurance Quote"
description: "Generates a recreational vehicle insurance quote from Guidewire PolicyCenter, returning premium, full-timer coverage options, and vacation liability limits."
tags:
- pricing
- underwriting
- guidewire
- rv
capability:
exposes:
- type: mcp
namespace: rv-quoting
port: 8080
tools:
- name: generate-rv-quote
description: "Generate an RV insurance quote from Guidewire PolicyCenter."
inputParameters:
- name: vin
in: body
type: string
description: "The RV VIN."
- name: rv_value
in: body
type: string
description: "The RV value."
- name: owner_info
in: body
type: string
description: "JSON with owner details."
- name: full_timer
in: body
type: string
description: "Whether the RV is a full-time residence (true/false)."
call: "guidewire-pc.create-rv-quote"
with:
vin: "{{vin}}"
value: "{{rv_value}}"
owner: "{{owner_info}}"
full_timer: "{{full_timer}}"
outputParameters:
- name: quote_number
type: string
mapping: "$.data.quoteNumber"
- name: premium
type: string
mapping: "$.data.totalPremium"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: rv-quotes
path: "/quotes/rv"
operations:
- name: create-rv-quote
method: POST
When a vehicle is declared a total loss, lists it for salvage auction through Copart, tracks the auction status, and records the salvage recovery amount in Guidewire ClaimCenter.
naftiko: "0.5"
info:
label: "Salvage Vehicle Auction Orchestrator"
description: "When a vehicle is declared a total loss, lists it for salvage auction through Copart, tracks the auction status, and records the salvage recovery amount in Guidewire ClaimCenter."
tags:
- claims
- salvage
- copart
- guidewire
capability:
exposes:
- type: mcp
namespace: salvage
port: 8080
tools:
- name: list-salvage-vehicle
description: "Given a claim number, list the total loss vehicle for salvage auction and track recovery."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: list-at-auction
type: call
call: "copart.create-listing"
with:
vin: "{{get-claim.vehicle.vin}}"
claim_number: "{{claim_number}}"
condition: "{{get-claim.vehicleCondition}}"
- name: update-claim
type: call
call: "guidewire-cc.update-claim"
with:
claim_number: "{{claim_number}}"
salvage_listing: "{{list-at-auction.lot_number}}"
salvage_status: "Listed"
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- name: update-claim
method: PATCH
- type: http
namespace: copart
baseUri: "https://api.copart.com/v2"
authentication:
type: bearer
token: "$secrets.copart_token"
resources:
- name: listings
path: "/listings"
operations:
- name: create-listing
method: POST
Pulls the Snapshot usage-based insurance telematics score for a policyholder from the Snapshot platform, returning driving score, hard braking events, mileage, and discount eligibility.
naftiko: "0.5"
info:
label: "Snapshot Telematics Score Retrieval"
description: "Pulls the Snapshot usage-based insurance telematics score for a policyholder from the Snapshot platform, returning driving score, hard braking events, mileage, and discount eligibility."
tags:
- pricing
- telematics
- snapshot
capability:
exposes:
- type: mcp
namespace: telematics
port: 8080
tools:
- name: get-snapshot-score
description: "Retrieve the Snapshot telematics driving score for a policyholder."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
call: "snapshot.get-score"
with:
policy_number: "{{policy_number}}"
outputParameters:
- name: driving_score
type: string
mapping: "$.data.overallScore"
- name: hard_braking_events
type: string
mapping: "$.data.hardBrakingCount"
- name: total_miles
type: string
mapping: "$.data.totalMilesDriven"
- name: discount_eligible
type: string
mapping: "$.data.discountEligible"
consumes:
- type: http
namespace: snapshot
baseUri: "https://api.progressive.com/snapshot/v2"
authentication:
type: bearer
token: "$secrets.snapshot_token"
resources:
- name: scores
path: "/policies/{{policy_number}}/score"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-score
method: GET
Retrieves sr22 filing status data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Sr22 Filing Status"
description: "Retrieves sr22 filing status data from the Progressive Insurance auto insurance systems."
tags:
- sr22
- progressive-insurance
- status
capability:
exposes:
- type: mcp
namespace: sr22
port: 8080
tools:
- name: sr22-filing-status
description: "Retrieves sr22 filing status data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.sr22-filing-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/sr22/filing/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: sr22-filing-status
method: GET
Queries the state insurance filing compliance status from the regulatory tracking system, returning filing status, approval date, and effective date by state and product line.
naftiko: "0.5"
info:
label: "State Filing Compliance Check"
description: "Queries the state insurance filing compliance status from the regulatory tracking system, returning filing status, approval date, and effective date by state and product line."
tags:
- compliance
- regulatory
- underwriting
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: check-filing-status
description: "Check the regulatory filing compliance status for a state and product line."
inputParameters:
- name: state
in: body
type: string
description: "State code."
- name: product_line
in: body
type: string
description: "Product line (auto, home, motorcycle, boat, rv)."
call: "regulatory-system.get-filing"
with:
state: "{{state}}"
product: "{{product_line}}"
outputParameters:
- name: filing_status
type: string
mapping: "$.data.status"
- name: approval_date
type: string
mapping: "$.data.approvalDate"
- name: effective_date
type: string
mapping: "$.data.effectiveDate"
consumes:
- type: http
namespace: regulatory-system
baseUri: "https://api.progressive.com/internal/regulatory/v1"
authentication:
type: bearer
token: "$secrets.regulatory_token"
resources:
- name: filings
path: "/filings"
inputParameters:
- name: state
in: query
- name: product
in: query
operations:
- name: get-filing
method: GET
Initiates subrogation recovery by pulling claim and payment details from Guidewire, sending a demand letter to the at-fault carrier via Arbitration Forums, and tracking the recovery in a ServiceNow case.
naftiko: "0.5"
info:
label: "Subrogation Recovery Orchestrator"
description: "Initiates subrogation recovery by pulling claim and payment details from Guidewire, sending a demand letter to the at-fault carrier via Arbitration Forums, and tracking the recovery in a ServiceNow case."
tags:
- claims
- subrogation
- guidewire
- arbitration-forums
- servicenow
capability:
exposes:
- type: mcp
namespace: subrogation
port: 8080
tools:
- name: initiate-subrogation
description: "Given a claim number and at-fault carrier, pull details, send demand, and create a tracking case."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
- name: at_fault_carrier
in: body
type: string
description: "NAIC code of the at-fault insurance carrier."
- name: demand_amount
in: body
type: string
description: "Total demand amount for subrogation."
steps:
- name: get-claim
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: send-demand
type: call
call: "arbitration-forums.submit-demand"
with:
claim_number: "{{claim_number}}"
carrier_naic: "{{at_fault_carrier}}"
amount: "{{demand_amount}}"
loss_date: "{{get-claim.lossDate}}"
- name: create-tracking-case
type: call
call: "servicenow.create-case"
with:
short_description: "Subrogation: Claim {{claim_number}} vs {{at_fault_carrier}}"
description: "Demand amount: ${{demand_amount}}. AF Filing: {{send-demand.filing_id}}."
assignment_group: "Subrogation"
consumes:
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- type: http
namespace: arbitration-forums
baseUri: "https://api.arbfile.org/v1"
authentication:
type: bearer
token: "$secrets.arbfile_token"
resources:
- name: demands
path: "/demands"
operations:
- name: submit-demand
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_si_case"
operations:
- name: create-case
method: POST
Retrieves telematics device status data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Telematics Device Status"
description: "Retrieves telematics device status data from the Progressive Insurance auto insurance systems."
tags:
- telematics
- progressive-insurance
- status
capability:
exposes:
- type: mcp
namespace: telematics
port: 8080
tools:
- name: telematics-device-status
description: "Retrieves telematics device status data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.telematics-device-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/telematics/device/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: telematics-device-status
method: GET
Orchestrates telematics driving behavior analyzer across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Telematics Driving Behavior Analyzer"
description: "Orchestrates telematics driving behavior analyzer across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- telematics
- progressive-insurance
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: telematics
port: 8080
tools:
- name: telematics-driving-behavior-analyzer
description: "Orchestrates telematics driving behavior analyzer across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/telematics"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://progressive.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/telematics"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/telematics"
operations:
- name: execute-3
method: POST
When a vehicle is declared a total loss, retrieves the vehicle valuation from CCC, pulls lien holder information from the policy in Guidewire, processes the settlement payment via BillingCenter, and notifies the customer via Twilio SMS.
naftiko: "0.5"
info:
label: "Total Loss Vehicle Valuation Orchestrator"
description: "When a vehicle is declared a total loss, retrieves the vehicle valuation from CCC, pulls lien holder information from the policy in Guidewire, processes the settlement payment via BillingCenter, and notifies the customer via Twilio SMS."
tags:
- claims
- total-loss
- ccc-intelligent-solutions
- guidewire
- twilio
capability:
exposes:
- type: mcp
namespace: total-loss
port: 8080
tools:
- name: process-total-loss
description: "Given a claim number, get vehicle valuation, check lien, process payment, and notify customer."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
steps:
- name: get-valuation
type: call
call: "ccc.get-vehicle-valuation"
with:
claim_number: "{{claim_number}}"
- name: get-policy-details
type: call
call: "guidewire-cc.get-claim"
with:
claim_number: "{{claim_number}}"
- name: process-settlement
type: call
call: "guidewire-bc.create-payment"
with:
claim_number: "{{claim_number}}"
amount: "{{get-valuation.settlement_value}}"
payee: "{{get-policy-details.primaryInsured.displayName}}"
- name: notify-customer
type: call
call: "twilio.send-sms"
with:
to: "{{get-policy-details.primaryInsured.phone}}"
body: "Progressive: Your total loss settlement of ${{get-valuation.settlement_value}} for claim {{claim_number}} has been processed. Payment ref: {{process-settlement.payment_id}}."
consumes:
- type: http
namespace: ccc
baseUri: "https://api.cccis.com/v2"
authentication:
type: bearer
token: "$secrets.ccc_token"
resources:
- name: valuations
path: "/valuations"
inputParameters:
- name: claim_number
in: query
operations:
- name: get-vehicle-valuation
method: GET
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
- type: http
namespace: guidewire-bc
baseUri: "https://billingcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_bc_token"
resources:
- name: payments
path: "/payments"
operations:
- name: create-payment
method: POST
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Accounts/{{account_sid}}/Messages.json"
inputParameters:
- name: account_sid
in: path
operations:
- name: send-sms
method: POST
Retrieves umbrella policy status data from the Progressive Insurance auto insurance systems.
naftiko: "0.5"
info:
label: "Umbrella Policy Status"
description: "Retrieves umbrella policy status data from the Progressive Insurance auto insurance systems."
tags:
- umbrella
- progressive-insurance
- status
capability:
exposes:
- type: mcp
namespace: umbrella
port: 8080
tools:
- name: umbrella-policy-status
description: "Retrieves umbrella policy status data from the Progressive Insurance auto insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "progressive.umbrella-policy-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: progressive
baseUri: "https://api.progressive.com/v2"
authentication:
type: bearer
token: "$secrets.progressive_api_token"
resources:
- name: resource
path: "/umbrella/policy/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: umbrella-policy-status
method: GET
Calculates an underwriting risk score by pulling MVR data from LexisNexis, credit-based insurance score from TransUnion, claims history from Guidewire ClaimCenter, and returns a composite risk assessment.
naftiko: "0.5"
info:
label: "Underwriting Risk Score Orchestrator"
description: "Calculates an underwriting risk score by pulling MVR data from LexisNexis, credit-based insurance score from TransUnion, claims history from Guidewire ClaimCenter, and returns a composite risk assessment."
tags:
- underwriting
- pricing
- lexisnexis
- transunion
- guidewire
capability:
exposes:
- type: mcp
namespace: underwriting
port: 8080
tools:
- name: calculate-risk-score
description: "Given applicant details, pull MVR, credit score, and claims history to generate a composite risk score."
inputParameters:
- name: driver_license
in: body
type: string
description: "Driver license number."
- name: state
in: body
type: string
description: "State of issuance."
- name: ssn_last4
in: body
type: string
description: "Last 4 digits of SSN for credit pull."
- name: full_name
in: body
type: string
description: "Applicant full name."
steps:
- name: get-mvr
type: call
call: "lexisnexis.get-mvr"
with:
license_number: "{{driver_license}}"
state: "{{state}}"
- name: get-credit-score
type: call
call: "transunion.get-insurance-score"
with:
name: "{{full_name}}"
ssn_last4: "{{ssn_last4}}"
state: "{{state}}"
- name: get-claims-history
type: call
call: "lexisnexis.get-clue-report"
with:
name: "{{full_name}}"
state: "{{state}}"
consumes:
- type: http
namespace: lexisnexis
baseUri: "https://api.lexisnexis.com/insurance/v2"
authentication:
type: bearer
token: "$secrets.lexisnexis_token"
resources:
- name: mvr
path: "/motor-vehicle-records"
operations:
- name: get-mvr
method: POST
- name: clue
path: "/clue-reports"
operations:
- name: get-clue-report
method: POST
- type: http
namespace: transunion
baseUri: "https://api.transunion.com/insurance/v1"
authentication:
type: bearer
token: "$secrets.transunion_token"
resources:
- name: scores
path: "/insurance-scores"
operations:
- name: get-insurance-score
method: POST
Processes an uninsured motorist claim by verifying UM coverage on the policy, creating the UM claim in Guidewire ClaimCenter, ordering a police report, and assigning a specialized UM adjuster.
naftiko: "0.5"
info:
label: "Uninsured Motorist Claim Orchestrator"
description: "Processes an uninsured motorist claim by verifying UM coverage on the policy, creating the UM claim in Guidewire ClaimCenter, ordering a police report, and assigning a specialized UM adjuster."
tags:
- claims
- uninsured-motorist
- guidewire
capability:
exposes:
- type: mcp
namespace: um-claims
port: 8080
tools:
- name: process-um-claim
description: "Given a policy number and accident details, verify UM coverage, create claim, order report, and assign adjuster."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: loss_date
in: body
type: string
description: "Date of loss."
- name: police_report_number
in: body
type: string
description: "The police report number."
- name: description
in: body
type: string
description: "Accident description."
steps:
- name: verify-um-coverage
type: call
call: "guidewire-pc.get-policy"
with:
policy_number: "{{policy_number}}"
- name: create-um-claim
type: call
call: "guidewire-cc.create-claim"
with:
policy_number: "{{policy_number}}"
loss_date: "{{loss_date}}"
type: "uninsured_motorist"
description: "{{description}}"
police_report: "{{police_report_number}}"
- name: assign-um-adjuster
type: call
call: "guidewire-cc.assign-claim"
with:
claim_number: "{{create-um-claim.claim_number}}"
assignment_group: "UM_Adjusters"
consumes:
- type: http
namespace: guidewire-pc
baseUri: "https://policycenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_pc_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: claims
path: "/claims"
operations:
- name: create-claim
method: POST
- name: assign-claim
method: PATCH
Enrolls a policyholder in the Snapshot usage-based insurance program, registering their device and activating telematics data collection.
naftiko: "0.5"
info:
label: "Usage-Based Insurance Enrollment"
description: "Enrolls a policyholder in the Snapshot usage-based insurance program, registering their device and activating telematics data collection."
tags:
- pricing
- telematics
- snapshot
capability:
exposes:
- type: mcp
namespace: telematics-enrollment
port: 8080
tools:
- name: enroll-snapshot
description: "Enroll a policyholder in the Snapshot UBI program."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: device_type
in: body
type: string
description: "Device type (obd_plug, mobile_app)."
call: "snapshot.enroll-policyholder"
with:
policy_number: "{{policy_number}}"
device: "{{device_type}}"
outputParameters:
- name: enrollment_id
type: string
mapping: "$.data.enrollmentId"
- name: activation_date
type: string
mapping: "$.data.activationDate"
consumes:
- type: http
namespace: snapshot
baseUri: "https://api.progressive.com/snapshot/v2"
authentication:
type: bearer
token: "$secrets.snapshot_token"
resources:
- name: enrollments
path: "/enrollments"
operations:
- name: enroll-policyholder
method: POST
Orchestrates usage based insurance scoring pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Usage Based Insurance Scoring Pipeline"
description: "Orchestrates usage based insurance scoring pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- usage
- progressive-insurance
- teams
- sendgrid
- datadog
capability:
exposes:
- type: mcp
namespace: usage
port: 8080
tools:
- name: usage-based-insurance-scoring-pipeline
description: "Orchestrates usage based insurance scoring pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sendgrid.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "datadog.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/usage"
operations:
- name: execute-1
method: POST
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: sendgrid-resource
path: "/api/usage"
operations:
- name: execute-2
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/usage"
operations:
- name: execute-3
method: POST
Retrieves a vehicle damage estimate from CCC Intelligent Solutions by claim number, returning repair cost, parts breakdown, labor hours, and total loss determination.
naftiko: "0.5"
info:
label: "Vehicle Damage Estimate Lookup"
description: "Retrieves a vehicle damage estimate from CCC Intelligent Solutions by claim number, returning repair cost, parts breakdown, labor hours, and total loss determination."
tags:
- claims
- damage-estimate
- ccc-intelligent-solutions
capability:
exposes:
- type: mcp
namespace: damage-estimates
port: 8080
tools:
- name: get-damage-estimate
description: "Look up a vehicle damage estimate from CCC by claim number."
inputParameters:
- name: claim_number
in: body
type: string
description: "The claim number."
call: "ccc.get-estimate"
with:
claim_number: "{{claim_number}}"
outputParameters:
- name: total_repair_cost
type: string
mapping: "$.data.totalRepairCost"
- name: parts_cost
type: string
mapping: "$.data.partsCost"
- name: labor_hours
type: string
mapping: "$.data.laborHours"
- name: total_loss
type: string
mapping: "$.data.isTotalLoss"
consumes:
- type: http
namespace: ccc
baseUri: "https://api.cccis.com/v2"
authentication:
type: bearer
token: "$secrets.ccc_token"
resources:
- name: estimates
path: "/estimates"
inputParameters:
- name: claim_number
in: query
operations:
- name: get-estimate
method: GET
Orchestrates vehicle valuation pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Vehicle Valuation Pipeline"
description: "Orchestrates vehicle valuation pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- vehicle
- progressive-insurance
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: vehicle
port: 8080
tools:
- name: vehicle-valuation-pipeline
description: "Orchestrates vehicle valuation pipeline across auto insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://progressive.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/vehicle"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://progressive.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/vehicle"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://progressive.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/vehicle"
operations:
- name: execute-3
method: POST
Decodes a VIN number using the NHTSA API and returns vehicle year, make, model, trim, body type, and engine details for quoting and underwriting.
naftiko: "0.5"
info:
label: "VIN Decode and Vehicle Verification"
description: "Decodes a VIN number using the NHTSA API and returns vehicle year, make, model, trim, body type, and engine details for quoting and underwriting."
tags:
- underwriting
- vehicle
- nhtsa
capability:
exposes:
- type: mcp
namespace: vehicle-data
port: 8080
tools:
- name: decode-vin
description: "Decode a vehicle identification number to get vehicle specifications."
inputParameters:
- name: vin
in: body
type: string
description: "The 17-character VIN."
call: "nhtsa.decode-vin"
with:
vin: "{{vin}}"
outputParameters:
- name: year
type: string
mapping: "$.Results[0].ModelYear"
- name: make
type: string
mapping: "$.Results[0].Make"
- name: model
type: string
mapping: "$.Results[0].Model"
- name: body_type
type: string
mapping: "$.Results[0].BodyClass"
consumes:
- type: http
namespace: nhtsa
baseUri: "https://vpic.nhtsa.dot.gov/api"
authentication:
type: none
resources:
- name: vin
path: "/vehicles/DecodeVin/{{vin}}"
inputParameters:
- name: vin
in: path
- name: format
in: query
operations:
- name: decode-vin
method: GET
Generates claims volume forecasts based on weather data by pulling severe weather alerts from the NWS API, correlating with historical claims data from Guidewire, and pushing the forecast to the staffing dashboard in Power BI.
naftiko: "0.5"
info:
label: "Weather-Based Claims Forecasting Orchestrator"
description: "Generates claims volume forecasts based on weather data by pulling severe weather alerts from the NWS API, correlating with historical claims data from Guidewire, and pushing the forecast to the staffing dashboard in Power BI."
tags:
- claims
- analytics
- nws
- guidewire
- power-bi
capability:
exposes:
- type: mcp
namespace: claims-forecasting
port: 8080
tools:
- name: forecast-claims-volume
description: "Given a region and date range, pull weather data and historical claims to forecast volume."
inputParameters:
- name: state
in: body
type: string
description: "State code."
- name: forecast_days
in: body
type: string
description: "Number of days to forecast."
steps:
- name: get-weather-alerts
type: call
call: "nws.get-alerts"
with:
state: "{{state}}"
- name: get-historical-claims
type: call
call: "guidewire-cc.get-claims-volume"
with:
state: "{{state}}"
days: "{{forecast_days}}"
- name: push-forecast
type: call
call: "powerbi.push-rows"
with:
dataset_id: "claims_forecast"
rows_state: "{{state}}"
rows_alerts: "{{get-weather-alerts.active_count}}"
rows_historical_avg: "{{get-historical-claims.daily_avg}}"
consumes:
- type: http
namespace: nws
baseUri: "https://api.weather.gov"
authentication:
type: none
resources:
- name: alerts
path: "/alerts/active"
inputParameters:
- name: area
in: query
operations:
- name: get-alerts
method: GET
- type: http
namespace: guidewire-cc
baseUri: "https://claimcenter.progressive.com/rest/api/v1"
authentication:
type: bearer
token: "$secrets.guidewire_cc_token"
resources:
- name: volume
path: "/claims/volume"
inputParameters:
- name: state
in: query
- name: days
in: query
operations:
- name: get-claims-volume
method: GET
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/tables/Forecast/rows"
inputParameters:
- name: dataset_id
in: path
operations:
- name: push-rows
method: POST