Inferensys

Prompt

SLA Tier Assignment Prompt for Incoming Requests

A practical prompt playbook for using SLA Tier Assignment Prompt for Incoming Requests in production AI workflows.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

When to Use This Prompt

Determines when to apply the SLA Tier Assignment Prompt for deterministic, auditable request routing at ingress.

This prompt is for operations engineers building request ingress pipelines that must assign SLA tiers before any work begins. It takes a customer contract profile, request type, and business impact signals, then produces an auditable tier decision with rationale. Use it when your system needs deterministic, explainable tier assignment that respects contractual obligations and can be reviewed by humans or downstream automation. This is not a general priority scorer or a sentiment-based urgency detector. It assumes you have structured contract data and request metadata available at ingress time.

The ideal user is an infrastructure or platform engineer integrating AI into a production request pipeline where SLA tier assignment is a gating step. Required context includes a structured customer profile (tier, contract clauses, service hours), a request type taxonomy, and business impact metadata (e.g., revenue at risk, user count affected). Do not use this prompt when you lack structured contract data, when the request type is unknown, or when the business impact cannot be quantified. In those cases, route to a human triage queue or a separate ambiguity detection prompt first.

Common misuse includes applying this prompt to sentiment analysis, general urgency scoring, or customer satisfaction prediction. This prompt does not infer tier from tone, history, or relationship health. It operates on explicit contractual and operational signals. If your pipeline needs to detect customer frustration or predict churn risk, use a separate sentiment or risk classification prompt upstream. The SLA tier assignment should be the final routing decision, not an early-stage guess.

Before deploying, ensure your contract data is normalized into a machine-readable schema. Inconsistent tier naming, missing service hours, or ambiguous request type mappings will produce unreliable tier assignments. Test the prompt against a golden dataset of known contract-request pairs with expected tier outcomes. Pay special attention to edge cases where a customer has multiple active contracts, where the request type spans tier boundaries, or where business impact signals conflict with contractual minimums. These cases should be flagged for human review rather than silently assigned.

After reading this section, proceed to the prompt template to copy and adapt the core instruction. Then review the implementation harness for validation, retry, and logging patterns that make this prompt production-safe.

PRACTICAL GUARDRAILS

Use Case Fit

Where the SLA Tier Assignment Prompt delivers reliable, auditable decisions and where it introduces operational risk.

01

Good Fit: Deterministic Contract Mapping

Use when: Customer contracts have explicit, machine-readable SLA tier definitions (e.g., 'Platinum: 1hr response'). The prompt maps known fields to known tiers. Guardrail: Maintain a single source of truth for contract-to-tier mappings and inject it as [CONTRACT_TIER_MAP] to prevent drift.

02

Bad Fit: Ambiguous or Unwritten Agreements

Avoid when: SLA tiers are defined by informal relationships, verbal agreements, or 'best effort' understandings. The model will hallucinate structure where none exists. Guardrail: Route requests without a digital contract reference to a human review queue with a flag: 'No enforceable SLA contract found.'

03

Required Inputs: The Tiering Triangle

What to watch: Missing any of the three core inputs—[CUSTOMER_CONTRACT], [REQUEST_PAYLOAD], or [BUSINESS_IMPACT_SIGNALS]—forces the model to guess. Guardrail: Implement a pre-processing validator that rejects the prompt run if any required input is null, empty, or fails a schema check.

04

Operational Risk: Silent Mis-tiering

What to watch: The prompt assigns a lower tier incorrectly without raising a flag. This breaches contractual obligations silently. Guardrail: Always output a confidence_score and an ambiguity_flag. Route any assignment with confidence_score < 0.95 or ambiguity_flag == true to an auditor.

05

Operational Risk: Override Bypass

What to watch: The prompt follows the contract literally but misses a manual override flag (e.g., an executive escalation or a critical security incident). Guardrail: Inject an [OVERRIDE_SIGNALS] input that takes precedence over the contract. The prompt must check for overrides before applying standard tiering logic.

06

Bad Fit: Real-Time Latency Budgets

Avoid when: The SLA tier must be assigned in a sub-50ms synchronous path. LLM inference latency is too variable. Guardrail: Use this prompt in an asynchronous ingress pipeline. For synchronous paths, use a deterministic rules engine based on the same [CONTRACT_TIER_MAP] and cache the result.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready prompt template for assigning SLA tiers to incoming requests based on contract data, request type, and business impact signals.

This prompt template is designed to be the core decision engine in a request ingress pipeline. It takes structured inputs about a customer's contract, the nature of their request, and the potential business impact, and returns a deterministic, auditable JSON decision. The primary goal is to enforce contractual obligations consistently, ensuring that high-value customers with premium SLAs are never inadvertently deprioritized. Use this template as a starting point; you will need to adapt the [SLA_TIER_DEFINITIONS] and [ESCALATION_RULES] to match your organization's specific service catalog and operational policies.

text
System: You are an SLA Tier Assignment Engine. Your task is to assign a single SLA tier to an incoming request based on the provided context. You must be precise, deterministic, and strictly adhere to the defined rules. Your output must be a single, valid JSON object.

Input Data:
- Customer Contract: [CUSTOMER_CONTRACT_JSON]
- Request Details: [REQUEST_DETAILS_JSON]
- Business Impact Signals: [BUSINESS_IMPACT_SIGNALS_JSON]

SLA Tier Definitions:
[SLA_TIER_DEFINITIONS]

Assignment Rules:
1. First, check if the request type in [REQUEST_DETAILS_JSON] matches any criteria in the [ESCALATION_RULES] for a forced tier (e.g., 'SEVERITY_1_INCIDENT'). If a forced tier applies, assign it immediately and cite the specific rule in your rationale.
2. If no forced tier applies, determine the base tier from the customer's contract in [CUSTOMER_CONTRACT_JSON].
3. Evaluate the [BUSINESS_IMPACT_SIGNALS_JSON] against the [SLA_TIER_DEFINITIONS]. If the impact signals justify a higher tier than the base tier, you may upgrade the tier. You must never downgrade a tier below the customer's contracted base tier.
4. If any input data is missing, ambiguous, or contradictory, do not guess. Assign a special tier of 'TRIAGE_REQUIRED' and set the confidence to 'low'.

Output Schema:
{
  "assigned_tier": "string",
  "confidence": "high|medium|low",
  "rationale": "A concise, step-by-step explanation referencing the specific contract clause, rule, or impact signal that determined the tier.",
  "escalation_triggered": "boolean",
  "missing_data_fields": ["string"]
}

To adapt this template, start by replacing the [SLA_TIER_DEFINITIONS] placeholder with a structured description of your tiers, including response and resolution time targets. The [ESCALATION_RULES] placeholder should contain a list of conditions that override standard contract routing, such as a major security incident or an executive escalation. When wiring this into an application, the [CUSTOMER_CONTRACT_JSON] and [REQUEST_DETAILS_JSON] placeholders should be populated programmatically from your CRM and ticketing systems. The final critical step before deployment is to run this prompt against a golden dataset of historical requests to ensure its tier assignments are consistent with past manual decisions and contractual obligations.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the SLA Tier Assignment Prompt. Each placeholder must be populated before the prompt is sent to the model. Missing or malformed inputs are the most common cause of incorrect tier assignment.

PlaceholderPurposeExampleValidation Notes

[CUSTOMER_CONTRACT]

The customer's contractual SLA tier definition, including entitlements, response times, and resolution targets.

Tier-2: 4hr response, 24hr resolution, 24/7 support

Must be a non-empty string. Validate against a known contract registry. If null, the prompt should default to a standard tier and flag for manual review.

[REQUEST_TYPE]

The category of the incoming request, used to determine if the issue falls under standard or specialized SLA terms.

Production Outage, Feature Request, Account Inquiry

Must match an entry in the approved request taxonomy enum. Use a strict string match. If the type is unknown, route to a clarification queue before SLA assignment.

[BUSINESS_IMPACT]

A structured assessment of the incident's effect on the customer's business operations.

Critical: Revenue-generating service is down for all users.

Must be one of a predefined set of impact levels (e.g., Critical, High, Medium, Low). If the field is missing, the prompt must not guess; it should request the information or assign a provisional 'Unassessed' tier.

[REQUEST_TIMESTAMP]

The ISO 8601 timestamp of when the request was received, used to calculate SLA clock start.

2024-05-20T14:30:00Z

Must be a valid ISO 8601 datetime string. Validate format and ensure it is not a future date. A missing or invalid timestamp should halt the prompt and return a configuration error.

[CUSTOMER_ID]

A unique identifier for the customer, used to look up their specific contractual obligations and override any default tier logic.

cust-009821

Must be a non-empty string. Validate against the customer master database. If the ID is not found, the prompt should be aborted and the request sent for manual account verification.

[OUTPUT_SCHEMA]

The exact JSON schema the model's response must conform to, including the tier, rationale, and audit fields.

{ "tier": "string", "rationale": "string", "escalation_required": "boolean" }

Must be a valid JSON Schema object. The application layer should parse this and inject it as a strict format constraint. Validate the final output against this schema programmatically.

[CONSTRAINTS]

Specific business rules or edge-case instructions that override the default tier assignment logic.

All requests from customer X are automatically Tier-1. Do not downgrade a tier if the request type is 'Security Incident'.

Must be a string or null. If provided, these rules take precedence. Validate that constraints do not contain contradictory instructions. Log the applied constraints in the audit trail.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the SLA Tier Assignment Prompt into a production request ingress pipeline with validation, retries, audit logging, and human review.

Integrating the SLA Tier Assignment Prompt into a production system requires treating it as a deterministic classification step within a broader request ingress pipeline. The prompt should be invoked after initial request parsing and authentication but before the request is dispatched to a fulfillment queue. At this stage, the application layer must assemble the required inputs: the customer's contractual SLA tier from your entitlements service, the request type extracted from the payload or API endpoint, and any business impact signals such as revenue at risk, affected user count, or declared severity. These inputs should be passed into the prompt's [CUSTOMER_TIER], [REQUEST_TYPE], and [BUSINESS_IMPACT] placeholders. The model's output—a structured JSON object containing the assigned SLA tier, a confidence score, and a rationale—must be validated before it can influence queue priority, response time targets, or escalation behavior.

The implementation harness should enforce strict validation on the model's output. Use a JSON schema validator to confirm that the assigned_tier field matches one of your defined SLA levels (e.g., critical, high, standard, low) and that the confidence field is a float between 0.0 and 1.0. If validation fails, implement a retry loop with a maximum of two additional attempts, appending the validation error to the prompt context on each retry. If the model consistently fails to produce a valid tier or returns a confidence score below your operational threshold (e.g., < 0.7), the harness must escalate the request to a human review queue rather than defaulting to a lower tier. This is critical because under-tiering a high-impact request can breach contractual SLAs. Log every assignment decision—including the input signals, model output, validation result, and final tier—to an immutable audit store. This log becomes your evidence trail for SLA compliance reporting and for debugging tier assignment drift over time.

For model choice, prefer a fast, cost-effective model with strong instruction-following and JSON mode support, such as GPT-4o-mini or Claude 3.5 Haiku, since this is a classification task with low reasoning complexity but high throughput demands. Do not use a general chat model without structured output constraints. Enable the model's native JSON mode or supply a tool definition with a strict schema to minimize parsing failures. If your pipeline processes requests asynchronously, batch SLA assignments where possible to amortize API call overhead, but ensure that each request's assignment is independent and idempotent. Never cache or reuse tier assignments across different requests, even from the same customer, because the business impact and request type may change the outcome. Finally, monitor the distribution of assigned tiers in production. A sudden shift toward critical or low assignments without a corresponding change in input signals may indicate prompt drift, model behavior change, or an upstream data quality issue in your entitlements service.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the exact JSON schema, field types, and validation rules for the SLA tier assignment output. Use this contract to build a post-processing validator that rejects non-conformant responses before they reach downstream routing logic.

Field or ElementType or FormatRequiredValidation Rule

tier

string enum: ["platinum", "gold", "silver", "bronze", "standard"]

Must match one of the allowed enum values exactly. Reject on case mismatch or unknown tier.

confidence

number (0.0-1.0)

Must be a float between 0.0 and 1.0 inclusive. Reject if null, string, or out of range. Values below 0.7 should trigger a human review flag in the harness.

rationale

string

Must be a non-empty string (minimum 10 characters). Must reference at least one of the input fields: [CUSTOMER_TIER], [REQUEST_TYPE], or [BUSINESS_IMPACT]. Reject if rationale is generic or unrelated to input signals.

matched_contract_clause

string | null

If the customer has a contractual SLA clause, this field must contain the clause reference ID (e.g., "MSA-4.2-a"). If no contract applies, value must be null. Reject if non-null value does not match the pattern [A-Z]+-[0-9]+.[0-9]+-[a-z].

override_applied

boolean

Must be true if the assigned tier differs from the customer's default tier based on [CUSTOMER_TIER] alone. Must be false otherwise. Reject if override status is inconsistent with tier assignment logic.

override_reason

string | null

Required if override_applied is true; must be null if override_applied is false. When present, must contain a specific business justification (minimum 20 characters) referencing [BUSINESS_IMPACT] or [REQUEST_TYPE].

ambiguous_signals

array of strings

If multiple conflicting tier signals exist (e.g., high business impact but low customer tier), list the conflicting signal names here. Reject if array contains values not present in the input fields.

escalation_required

boolean

Must be true if confidence is below 0.7, if ambiguous_signals is non-empty, or if override_applied is true without a clear contractual basis. Must be false otherwise. Reject if escalation flag contradicts confidence or ambiguity signals.

PRACTICAL GUARDRAILS

Common Failure Modes

SLA tier assignment fails silently when signals are missing, ambiguous, or contradictory. These failure modes break downstream routing, violate customer contracts, and erode trust in automated decision pipelines.

01

Missing Tier Signals Produce Default Routing

What to watch: The prompt receives a request with no customer ID, contract reference, or tier indicator. The model confidently assigns a default tier without flagging the missing data, causing premium customers to receive standard service or free-tier users to consume priority resources. Guardrail: Require the prompt to output an explicit tier_source field. If the source is default or unknown, route to a review queue instead of the execution pipeline.

02

Ambiguous Multi-Tier Matches Cause Non-Deterministic Assignment

What to watch: A single request matches multiple tier definitions—such as a customer with both a legacy contract and a new enterprise agreement. The model oscillates between tiers across runs, creating inconsistent customer experiences and audit failures. Guardrail: Add a conflict-resolution rule to the prompt: 'When multiple tiers match, select the highest applicable tier and output the conflicting tier IDs in a tier_conflicts field for audit.'

03

Business Impact Misclassification During Incidents

What to watch: During a production outage, the model classifies a routine status request from an enterprise customer as low-priority because the request text lacks urgency keywords. The customer waits while the prompt fails to recognize the operational context. Guardrail: Include a system_status input variable that overrides text-based urgency when an active incident is declared. Test with incident-mode inputs in your eval set.

04

Contractual Obligation Drift Over Time

What to watch: Customer contracts change, but the prompt's tier definitions remain static. A customer who upgraded to premium six months ago still receives standard-tier routing because the prompt references an outdated contract snapshot. Guardrail: Bind the prompt to a versioned tier registry that is updated on contract change events. Include a tier_registry_version field in every output so operators can detect stale assignments.

05

Hallucinated Tier Justifications Pass Review

What to watch: The model fabricates plausible-sounding contract terms or SLA commitments that don't exist, and the fluent rationale passes human or automated review. The hallucinated justification becomes the basis for downstream actions. Guardrail: Require the prompt to cite specific tier definition IDs from the provided registry. Add an eval that checks whether every cited tier ID exists in the input registry. Reject outputs with unknown tier references.

06

Batch Inconsistency Across Related Requests

What to watch: Multiple requests from the same customer within a batch receive different tier assignments because each is classified independently without shared context. This creates contradictory routing decisions and broken audit trails. Guardrail: Pre-process batches to group requests by customer ID, inject the resolved tier as a shared context field, and validate that all requests from the same customer receive identical tier assignments in post-processing.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to evaluate the SLA Tier Assignment Prompt before deploying it to production. Each criterion targets a specific failure mode common in contractual classification tasks. Run these tests against a golden dataset of 50-100 labeled requests that include edge cases, ambiguous inputs, and conflicting signals.

CriterionPass StandardFailure SignalTest Method

Contractual Tier Accuracy

Tier assignment matches the ground-truth label derived from the customer contract and request type for >= 98% of test cases.

Tier mismatch on a request where the contract and request type unambiguously specify a different tier.

Run prompt against a golden dataset with contract-to-tier mappings. Measure exact-match accuracy. Flag any mismatch for manual review.

Rationale Auditability

Every output includes a non-empty rationale field that cites at least one specific input signal (contract, request type, or impact indicator).

Missing or null rationale field. Rationale contains only generic text with no reference to input signals.

Parse the rationale field from each output. Validate non-null and minimum length. Use a secondary LLM judge to confirm the rationale references at least one input field.

Ambiguous Input Handling

When tier signals conflict or are missing, the prompt returns a confidence score below the threshold and either requests clarification or defaults to a safe tier.

High-confidence tier assignment when contract is missing, request type is unknown, or business impact is ambiguous.

Inject test cases with missing contract fields, conflicting tier signals, and unknown request types. Verify confidence score is below 0.85 and the output includes a clarification request or safe default.

Confidence Score Calibration

Confidence scores correlate with input signal completeness: high confidence only when contract, request type, and impact are all present and consistent.

Confidence score >= 0.95 on a request with missing or conflicting tier signals. Confidence score < 0.70 on a request with all signals present and aligned.

Plot confidence scores against input signal completeness across the test set. Check for inversion. Set a minimum confidence threshold of 0.85 for automated routing; route lower-confidence outputs to a human review queue.

Output Schema Compliance

100% of outputs parse successfully against the defined JSON schema with all required fields present and correctly typed.

JSON parse failure. Missing required field. Wrong type for tier, confidence, or rationale field.

Validate every output against the output schema using a JSON schema validator in the test harness. Reject any output that fails validation and trigger a retry or fallback.

Tier Consistency Across Similar Inputs

Requests with identical contract terms, request type, and impact indicators receive the same tier assignment across repeated runs.

Same input produces different tier assignments on different runs without any change to the prompt or model version.

Run the same 20 test cases 5 times each. Measure tier assignment stability. Investigate any case with < 100% consistency. Consider lowering temperature or adding stronger constraints.

Escalation Path Correctness

When the prompt cannot determine a tier, it outputs an escalation flag set to true and includes a suggested escalation reason.

Escalation flag is false when confidence is below threshold. Escalation flag is true but no reason provided.

Cross-reference the escalation flag with the confidence score. Verify that every output with confidence below 0.85 has escalation set to true and a non-empty escalation reason.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a simple JSON schema. Use a small hand-labeled dataset of 20-50 requests to test tier assignment consistency. Skip contract lookups initially—hardcode tier rules directly in the prompt for known customer segments.

code
Assign an SLA tier (P1, P2, P3, P4) to this request based on:
- Customer segment: [CUSTOMER_SEGMENT]
- Request type: [REQUEST_TYPE]
- Business impact description: [IMPACT_DESCRIPTION]

Return JSON: {"tier": "P1|P2|P3|P4", "rationale": "string"}

Watch for

  • Over-assigning P1 when impact language is vague
  • No consistency checks across similar requests
  • Missing edge cases: internal requests, partner accounts, trial customers
Prasad Kumkar

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.