This prompt is designed for enterprise platform teams that need to classify incoming requests by business criticality before routing them to the correct queue, team, or SLA tier. The core job-to-be-done is mapping a request to a business function from your service catalog, determining whether that function is revenue-generating, compliance-mandated, or internal-only, and producing a criticality tier with a revenue-at-risk estimate. The ideal user is a platform engineer or product manager building an internal triage system where the cost of misrouting a checkout-flow outage to a low-priority queue is measured in dollars per minute.
Prompt
Business Criticality Assessment Prompt for Requests

When to Use This Prompt
Determine if this business criticality prompt is the right tool for your triage workflow before you integrate it.
Use this prompt when your triage system must distinguish between a customer-facing transaction failure and an internal wiki request, and when downstream routing logic depends on that distinction. It requires a well-defined service catalog as context, including business function names, revenue impact classifications, and compliance obligations. Do not use this prompt for operational severity scoring—deciding whether a P1 incident is a SEV1 or SEV2 based on technical symptoms like error rates or latency. Pair it with an incident severity classification prompt when both business impact and technical severity dimensions are needed for a complete routing decision.
Before implementing, ensure your service catalog is stable enough to serve as grounding evidence. If business functions change weekly, the prompt's output will drift and misroute requests. Also avoid using this prompt for real-time incident response where seconds matter; the model inference latency, even when optimized, is better suited for asynchronous triage of tickets, forms, or queued requests. Start by running a batch of 50 historical requests through the prompt and manually reviewing the criticality tier assignments against your expected outcomes to calibrate your eval thresholds.
Use Case Fit
Where the Business Criticality Assessment Prompt delivers reliable, auditable results—and where it introduces operational risk.
Good Fit: Service Catalog Grounding
Use when: you maintain a structured service catalog with business function mappings, revenue tiers, and compliance classifications. Guardrail: feed the catalog as [SERVICE_CATALOG] input and require the model to cite specific catalog entries in its output.
Good Fit: Audit-Ready Decision Records
Use when: governance or compliance teams need every criticality decision traceable to evidence. Guardrail: require quoted source excerpts, decision rationale, and a reviewer-ready audit trail in the output schema.
Bad Fit: Undocumented or Ad-Hoc Services
Avoid when: services lack formal definitions, revenue attribution, or compliance mappings. Risk: the model will fabricate plausible but ungrounded criticality tiers. Guardrail: gate invocation on catalog completeness; if coverage is below threshold, route to human triage.
Bad Fit: Real-Time Blocking Decisions
Avoid when: the assessment must gate a live transaction or block a user action with sub-second latency. Risk: model latency and variability create unacceptable user-facing delays. Guardrail: use this prompt for async triage and queue ordering, not synchronous request blocking.
Required Inputs
Must provide: request description, affected service identifier, and a current service catalog with business function mappings. Optional but recommended: customer tier, contract SLA metadata, and recent incident history. Guardrail: validate all required fields are present and non-empty before model invocation.
Operational Risk: Revenue Estimate Overconfidence
Risk: the model produces precise-sounding revenue-at-risk figures without access to actual financial data. Guardrail: require the model to state assumptions explicitly, express estimates as ranges with confidence levels, and flag when financial data is unavailable rather than fabricating numbers.
Copy-Ready Prompt Template
A reusable prompt template for assessing the business criticality of an incoming request, mapping it to a service catalog, and estimating revenue-at-risk.
The following prompt template is designed to be copied directly into your AI orchestration layer. It instructs the model to act as a business operations analyst, evaluating a request against a provided service catalog to determine its criticality tier. The prompt uses square-bracket placeholders for all dynamic inputs, ensuring a clean separation between the static instruction set and the live data injected at runtime. Before using this template, you must have a defined service catalog with business functions mapped to criticality levels and, optionally, revenue data to ground the financial estimates.
textYou are a business operations analyst for a large enterprise. Your task is to assess the business criticality of an incoming request by mapping it to the company's service catalog and estimating the potential revenue impact. **Request Details:** [REQUEST_BODY] **Service Catalog:** [SERVICE_CATALOG] **Instructions:** 1. **Identify the Business Function:** Analyze the request to determine which business function from the service catalog is primarily affected. 2. **Map to Criticality Tier:** Based on the identified function, assign a criticality tier using the definitions in the service catalog (e.g., Tier-0: Revenue-Generating, Tier-1: Compliance-Mandated, Tier-2: Internal Operations, Tier-3: Non-Critical). 3. **Estimate Revenue-at-Risk:** If the function is revenue-generating, provide a structured estimate of the revenue at risk. Use the [REVENUE_DATA] to ground your estimate. If no revenue data is provided, state your assumptions clearly. 4. **Provide Justification:** For every decision, cite the specific line item from the service catalog or the piece of evidence from the request that supports your conclusion. **Output Format:** Respond with a single, valid JSON object conforming to this exact schema. Do not include any text outside the JSON object. { "criticality_tier": "string", "affected_business_function": "string", "justification": "string", "revenue_at_risk_estimate": { "amount": "number | null", "currency": "string | null", "time_period": "string | null", "assumptions": "string" }, "confidence_score": "number (0.0 to 1.0)" } **Constraints:** - Do not guess the business function. If the request is ambiguous, set the `confidence_score` below 0.5 and state the ambiguity in the `justification`. - If the request does not map to any function in the catalog, set the `criticality_tier` to "Uncategorized" and the `confidence_score` to 0.0. - The `revenue_at_risk_estimate.amount` must be a number, not a string. Use `null` if not applicable. - Base all financial estimates strictly on the provided [REVENUE_DATA]. If no data is provided, you must state "No revenue data provided" in the `assumptions` field.
To adapt this template for your production environment, start by replacing the [SERVICE_CATALOG] placeholder with a structured representation of your actual business functions. This could be a JSON object, a markdown table, or a list of key-value pairs. The criticality tier definitions (Tier-0, Tier-1, etc.) inside the prompt should be updated to match your organization's internal taxonomy. The [REVENUE_DATA] placeholder is optional but crucial for grounding the financial estimate; it should contain relevant account ARR, contract value, or transaction volume data. If you cannot provide this data at runtime, you should modify the assumptions constraint to enforce a disclaimer, preventing the model from hallucinating financial figures. Finally, integrate a post-processing validation step in your application code to verify the JSON schema and check that the confidence_score is a valid float, as this is a common point of failure.
Prompt Variables
Required and optional inputs for the Business Criticality Assessment Prompt. Each placeholder must be populated before the prompt is assembled and sent to the model. Missing or malformed inputs are the most common cause of incorrect criticality tier assignment.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[REQUEST_BODY] | Full text of the incoming request, ticket, or issue description to be assessed for business criticality | Our payment gateway is returning 503 errors for all Visa transactions in the EU region. Merchants are reporting failed checkouts since 14:22 UTC. | Required. Must be non-empty string. Reject if null or whitespace only. Minimum 20 characters to contain enough signal for function mapping. |
[SERVICE_CATALOG] | Structured list of business services with their criticality tier, revenue impact, compliance scope, and owning team | {"services": [{"name": "Payment Gateway", "tier": "tier-0", "revenue_direct": true, "compliance_scope": ["PCI-DSS", "SOX"]}]} | Required. Must be valid JSON array with at least one service entry. Each entry requires name, tier, and revenue_direct fields. Validate against service catalog schema before prompt assembly. |
[REQUEST_TIMESTAMP] | ISO-8601 timestamp when the request was received, used for time-sensitivity and business-hours context | 2025-03-15T14:22:00Z | Required. Must parse as valid ISO-8601 datetime. Reject if future-dated beyond 5-minute clock skew tolerance. Used to determine if incident falls within business-critical operating windows. |
[REQUESTER_CONTEXT] | Metadata about the requester: role, department, customer tier if applicable, and whether they represent an internal or external stakeholder | {"role": "Platform Engineer", "department": "Core Infrastructure", "customer_tier": null, "stakeholder_type": "internal"} | Optional. If null, prompt should assume internal operational request with no customer-tier weighting. If provided, validate stakeholder_type is one of internal, external_direct, external_partner. Customer tier must match known tier enum if present. |
[KNOWN_INCIDENTS] | List of currently active incidents that may be related, used to avoid duplicate criticality assessment and to detect cascading failures | [{"incident_id": "INC-4821", "service": "EU API Gateway", "severity": "sev1", "start_time": "2025-03-15T14:18:00Z"}] | Optional. If empty array, prompt proceeds with standalone assessment. If provided, each entry must have incident_id and service. Prompt should cross-reference before assigning criticality to avoid conflicting severity signals. |
[OUTPUT_SCHEMA] | Expected JSON schema for the criticality assessment output, defining the shape the model must produce | {"type": "object", "properties": {"criticality_tier": {"enum": ["tier-0", "tier-1", "tier-2", "tier-3"]}, "business_function": {"type": "string"}, "revenue_at_risk_estimate": {"type": "string"}, "confidence": {"type": "number"}}, "required": ["criticality_tier", "business_function", "confidence"]} | Required. Must be valid JSON Schema. Criticality tier enum must match the tiers defined in the service catalog. Confidence must be a number between 0 and 1. Schema is injected into the prompt as a constraint, not just documentation. |
[CRITICALITY_DEFINITIONS] | Business definitions for each criticality tier, mapping tiers to revenue impact, compliance stakes, and response expectations | {"tier-0": {"definition": "Direct revenue loss above $10K/hour or active compliance breach", "response_sla_minutes": 15}, "tier-1": {"definition": "Revenue-impacting degradation without full outage or compliance risk within 24 hours", "response_sla_minutes": 60}} | Required. Must define every tier referenced in the service catalog and output schema. Each tier definition must include response_sla_minutes as an integer. Validate tier keys match across all inputs before prompt assembly. |
Implementation Harness Notes
How to wire the business criticality assessment prompt into a production request pipeline with validation, retries, and human review gates.
This prompt is designed to sit behind an internal API or request intake form, not in a customer-facing chat window. The primary integration point is a classification middleware that receives a user-submitted request and a service catalog snapshot, calls the LLM, and then uses the structured output to route the request to the correct queue, assign an SLA tier, and optionally flag it for human review. The prompt expects two inputs: [REQUEST_TEXT] (the raw user request) and [SERVICE_CATALOG] (a JSON or markdown list of business functions with their criticality tiers, revenue linkage, and compliance tags). Without a well-maintained service catalog, the model will guess at business function mappings, and the revenue-at-risk estimates will be unreliable.
Validation and retry logic is essential before the output touches any downstream system. The prompt instructs the model to return a JSON object with a criticality_tier (one of revenue_generating, compliance_mandated, internal_only), a business_function mapped to the catalog, and a revenue_at_risk_estimate with a confidence band. Your harness must validate that: (1) the criticality_tier is in the allowed enum, (2) the business_function exists in the provided catalog, (3) the revenue_at_risk_estimate includes both a low and high value and that low <= high, and (4) the confidence field is a float between 0 and 1. If validation fails, retry once with the error message appended to the prompt as [PREVIOUS_ERROR]. If the retry also fails, route the request to a human triage queue with the raw input and both failed attempts attached. Do not silently default to internal_only—a misclassified revenue-generating request costs real money.
Model choice and latency matter here. This is a synchronous classification step that gates downstream routing, so aim for a fast, cost-efficient model that follows JSON schema instructions reliably (e.g., GPT-4o-mini, Claude 3.5 Haiku, or a fine-tuned open-weight model if you have sufficient labeled data). If your service catalog is large (100+ entries), consider using a retrieval step before the prompt: embed the user request, retrieve the top 5 most relevant catalog entries, and include only those in [SERVICE_CATALOG] to keep context small and latency low. Log every classification result—including the model, latency, input tokens, output tokens, validation status, and final criticality tier—to a structured logging table. This log becomes your audit trail and your dataset for future fine-tuning or eval calibration.
Human review gates should be configured based on confidence thresholds and revenue exposure. If the model returns confidence < 0.8 or the revenue_at_risk_estimate.high exceeds a configurable dollar threshold (e.g., $50,000), route the request to a review queue before committing to an SLA tier. The review interface should show the original request, the model's classification, the matched catalog entry, and a one-click override. Track override rates by business function to identify catalog entries that need clearer descriptions or model retraining. Finally, run the eval harness described in the testing section weekly against a golden dataset of 100+ labeled requests to detect drift in classification accuracy before it affects production routing.
Expected Output Contract
Defines the exact fields, types, and validation rules for the Business Criticality Assessment output. Use this contract to build a parser, validator, and retry loop before integrating the prompt into a production triage pipeline.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
criticality_tier | string enum: [P0_CRITICAL, P1_HIGH, P2_MEDIUM, P3_LOW, P4_INTERNAL] | Must match one of the defined enum values exactly. Reject any output that invents a new tier or uses a non-standard label. | |
business_function | string | Must map to a known entry in the [SERVICE_CATALOG]. If the function is not found, flag for human review and set confidence to 0.0. | |
revenue_at_risk_estimate | object: { amount: number, currency: string, period: string, confidence: number } | If present, amount must be a non-negative float, currency must be a valid ISO 4217 code, period must be one of [hourly, daily, weekly, monthly, quarterly, annually], and confidence must be a float between 0.0 and 1.0. If the model cannot ground the estimate, this field must be null. | |
compliance_exposure | boolean | Must be a strict boolean. If the model infers compliance risk from the request, this must be true and the compliance_frameworks array must contain at least one entry. | |
compliance_frameworks | array of strings | Required if compliance_exposure is true. Each entry must be a recognized framework abbreviation from the [COMPLIANCE_REGISTRY] (e.g., SOC2, GDPR, HIPAA, PCI-DSS). Reject unknown or hallucinated frameworks. | |
justification_summary | string | Must be a non-empty string between 50 and 500 characters. It must contain a direct quote or specific reference from the [INPUT] request to ground the assessment. Reject summaries that are purely speculative. | |
assessment_confidence | number | Must be a float between 0.0 and 1.0. If the model cannot map the request to a specific business function in the catalog, this value must be 0.0. If confidence is below 0.7, the routing system should escalate for human review. | |
missing_information_flags | array of strings | If the input lacks key details needed for a high-confidence assessment, list specific missing fields (e.g., 'missing_account_id', 'missing_revenue_impact_data'). The routing system should use this to request clarification before finalizing the tier. |
Common Failure Modes
When a business criticality assessment prompt fails in production, the damage isn't just a wrong label—it's a misrouted request that can delay revenue recovery, miss a compliance deadline, or waste engineering time on low-stakes work. These are the most common failure patterns and how to guard against them.
Service Catalog Drift
What to watch: The prompt maps a request to a business function that no longer exists, has been renamed, or has changed ownership. This produces a valid-looking criticality tier that routes the request into a dead queue. Guardrail: Version-lock the service catalog reference in the prompt and add a pre-flight check that validates every mapped function against a live registry before the routing decision is committed.
Revenue-at-Risk Hallucination
What to watch: The model generates a plausible but fabricated dollar figure for revenue impact
Compliance Function Misclassification
What to watch: A request touching a regulated function (SOX, HIPAA, GDPR) is classified as internal-only because the prompt lacks the domain vocabulary to recognize the compliance surface. The request bypasses mandatory review and creates audit exposure. Guardrail: Maintain a keyword-to-regulation mapping table in the prompt harness. If any input matches a compliance keyword, force a compliance_review_required: true flag regardless of the model's criticality tier output.
Overfitting to Request Urgency Language
What to watch: The requester uses urgent language (
Multi-Function Request Ambiguity
What to watch: A single request touches multiple business functions with different criticality levels (e.g., a billing issue that also affects user login). The model picks one function and ignores the higher-criticality path, under-routing the request. Guardrail: Instruct the prompt to enumerate all detected business functions, assign each a criticality tier, and route based on the highest tier found. Add a validation step that checks whether any high-criticality function was detected but not used in the final routing decision.
Silent Null Output on Edge Cases
What to watch: The model encounters a request that doesn't match any known business function and returns an empty or malformed criticality object. The routing system interprets this as a default low-priority tier and the request sits unprocessed. Guardrail: Define an explicit "criticality_tier": "UNCLASSIFIED" fallback with a mandatory human-review routing path. Add a post-processing validator that rejects any output missing a criticality tier field and triggers the fallback path.
Evaluation Rubric
Use this rubric to test the Business Criticality Assessment Prompt before shipping. Each criterion targets a specific failure mode common in criticality classification.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Function-to-Tier Mapping Accuracy | Criticality tier matches the service catalog mapping for the identified business function | Revenue-generating function classified as internal-only or vice versa | Run 20 labeled examples from the service catalog; require >= 95% exact match accuracy |
Revenue-at-Risk Grounding | Revenue-at-risk estimate cites a specific account, contract value, or transaction volume from [INPUT] | Revenue-at-risk is a round number with no source evidence or uses speculative language | Check output for explicit citation to input fields; flag any estimate without a source reference |
Compliance Function Detection | Compliance-mandated functions are flagged with the regulatory reference when present in [INPUT] | Compliance function classified as internal-only with no regulatory mention | Test with 10 inputs containing explicit regulatory references; require 100% detection of compliance tier |
Null Input Handling | Missing business function or revenue data produces a low-confidence score with missing-information flags | Model hallucinates a business function or revenue figure when fields are empty | Submit inputs with [BUSINESS_FUNCTION] = null; assert confidence < 0.5 and missing_fields array is populated |
Tier Justification Completeness | Output includes a specific justification referencing the business function, revenue signal, and compliance status | Justification is generic or repeats the tier name without evidence | Parse justification field; require >= 3 distinct evidence references per output |
Confidence Calibration | Confidence score is >= 0.8 for unambiguous inputs and <= 0.6 for ambiguous or conflicting inputs | Confidence is always 0.9+ regardless of input ambiguity | Run 10 ambiguous inputs with conflicting signals; assert mean confidence < 0.7 |
Output Schema Compliance | Output matches [OUTPUT_SCHEMA] exactly with all required fields present and correctly typed | Missing tier, null justification, or extra fields not in schema | Validate output against JSON Schema; reject any output that fails structural validation |
Escalation Flag Correctness | Escalation flag is true when revenue-at-risk exceeds threshold or compliance exposure is detected | Escalation flag is false for high-revenue or compliance-mandatory functions | Test with inputs where revenue-at-risk > [ESCALATION_THRESHOLD]; assert escalation_flag is true |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base prompt and a hardcoded service catalog of 5-10 entries. Remove the revenue-at-risk estimate and keep only the criticality tier and business function mapping. Use a simple 3-tier scale (Mission-Critical, Business-Important, Internal-Only) instead of the full 5-tier schema.
codeClassify this request into one of three tiers: - Mission-Critical: revenue-generating or customer-facing - Business-Important: internal operations with productivity impact - Internal-Only: non-urgent, no SLA Request: [REQUEST_BODY] Service Catalog: [SERVICE_CATALOG]
Watch for
- Over-classifying everything as Mission-Critical when no revenue data is available
- Missing the distinction between customer-facing and internal tools
- No confidence flag when the request doesn't match any catalog entry

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us