This prompt is for product teams, safety engineers, and conversation designers who need to select a consistent refusal tone for an AI product before writing individual refusal messages. The job-to-be-done is not generating a single refusal, but producing a reusable tone profile—a set of stylistic rules, vocabulary constraints, and behavioral guidelines—that downstream prompts and human reviewers can apply across every refusal surface in the product. The ideal user is someone who owns the refusal experience for a feature or platform and needs a documented, testable tone decision rather than an ad-hoc style guess.
Prompt
Refusal Tone Selection Prompt Template

When to Use This Prompt
Define the job, reader, and constraints for the Refusal Tone Selection Prompt Template.
Use this prompt when you are designing a new AI product surface, adding refusal handling to an existing assistant, or auditing an inconsistent refusal experience that generates user complaints or escalation tickets. It is appropriate when you have clarity on your product context (e.g., consumer chat, enterprise compliance dashboard, clinical summarization tool), your user relationship (transactional, ongoing trusted advisor, regulated professional), and your risk tolerance. The prompt requires you to supply these inputs explicitly, along with examples of disallowed request categories the system will face. Do not use this prompt for generating individual refusal messages—use one of the tone-specific refusal templates (empathetic, firm, neutral, educational) after this prompt has produced the tone profile. Do not use it when you lack product context or when the refusal tone is already locked in a style guide; this is a design-time decision tool, not a runtime generation tool.
The output is a structured tone profile, not a single refusal string. Expect fields like tone_name, style_directives, vocabulary_constraints, example_refusal_snippets, and evaluation_criteria. Wire this profile into your system prompt, refusal generation templates, and human review rubrics. Before shipping, test the profile against a golden set of disallowed requests and measure whether downstream refusals consistently match the intended tone. Common failure modes include producing a profile that sounds reasonable but generates refusals that users perceive as evasive, robotic, or judgmental. If the profile will govern refusals in regulated domains, include a legal or compliance reviewer in the approval loop before locking the tone.
Use Case Fit
Where the Refusal Tone Selection Prompt Template works well, where it fails, and what you must provide before using it in a product pipeline.
Good Fit: Product Teams Defining Refusal Voice
Use when: a product manager or UX writer needs to select a primary refusal tone (empathetic, firm, neutral, educational) before writing individual refusal templates. Guardrail: Run the output through the Refusal Tone A/B Test Variant Generator to validate distinctness before committing to a style guide.
Good Fit: Pre-Design Phase for New AI Features
Use when: a team is scoping a new assistant, copilot, or support bot and needs alignment on how the system should say no. Guardrail: Pair the tone recommendation with a Policy Boundary Definition prompt to ensure the tone matches the actual policy strictness.
Bad Fit: Runtime Refusal Decisions
Avoid when: you need a production prompt that decides whether to refuse a specific user request in real time. This template selects a tone profile, not a classification decision. Guardrail: Use Unsafe Request Detection and Classification prompts for runtime gating, then apply the selected tone profile to the refusal text.
Bad Fit: Single Refusal Message Generation
Avoid when: you need the actual text of a refusal message for a specific disallowed request. This template outputs a tone profile and rationale, not the refusal copy. Guardrail: Feed the tone profile output into the Empathetic, Firm, or Neutral Refusal Prompt Templates to generate the actual refusal text.
Required Input: Product Context and User Relationship
Risk: without clear product context (consumer app, enterprise compliance, edtech) and user relationship description, the tone recommendation will be generic and untrustworthy. Guardrail: Provide a structured brief including product category, user expectations, brand voice guidelines, and the primary risk level of disallowed requests.
Operational Risk: Tone-Trust Mismatch in Production
Risk: a recommended tone that feels right in design review may erode user trust or increase escalation rates when deployed. Guardrail: Run the selected tone through the User Trust Preservation Refusal Prompt Template evaluation criteria and monitor escalation rates for the first two weeks after deployment.
Copy-Ready Prompt Template
A reusable prompt template that generates a structured refusal tone profile based on product context, user relationship, and risk level.
This template is the core instruction set for producing a refusal tone profile. It takes structured inputs about your product, user base, and risk tolerance and outputs a concrete tone specification that downstream prompts can reference. The template is designed to be copied directly into your prompt management system, with square-bracket placeholders replaced by your application's configuration values at runtime. Do not treat this as a one-time design exercise—store the output as a reusable tone profile that your refusal prompts, escalation prompts, and safe-alternative prompts all reference for consistency.
textYou are a refusal tone designer for AI product teams. Your job is to produce a concrete, implementable tone profile that downstream refusal prompts will follow. ## INPUTS - Product Context: [PRODUCT_CONTEXT] - Primary User Base: [USER_BASE_DESCRIPTION] - User Relationship Type: [RELATIONSHIP_TYPE] // e.g., consumer, enterprise, patient, student, developer - Risk Level: [RISK_LEVEL] // low, medium, high, regulated - Brand Voice Guidelines (if any): [BRAND_VOICE] - Regulatory Requirements (if any): [REGULATORY_REQUIREMENTS] - Refusal Scenarios to Cover: [REFUSAL_SCENARIOS] // e.g., harmful content, out-of-scope, gated feature, legal boundary ## OUTPUT SCHEMA Return a JSON object with the following structure: { "tone_profile": { "primary_style": "empathetic" | "firm" | "neutral" | "educational" | "custom", "style_rationale": "string explaining why this style fits the product context and risk level", "voice_attributes": { "directness": "low" | "medium" | "high", "formality": "low" | "medium" | "high", "warmth": "low" | "medium" | "high", "authority": "low" | "medium" | "high" }, "refusal_structure": { "acknowledgment_required": true | false, "boundary_statement_required": true | false, "policy_citation_required": true | false, "alternative_offering_required": true | false, "escalation_path_required": true | false }, "language_constraints": [ "list of specific phrases to avoid", "list of required disclaimers" ], "example_refusal": "A sample refusal in the recommended tone for the most common scenario", "anti_patterns": [ "list of tone patterns that would undermine trust or compliance" ] }, "evaluation_criteria": { "trust_preservation_indicators": ["list of signals that the refusal maintains user trust"], "escalation_risk_factors": ["list of tone choices that could increase escalation or support tickets"], "compliance_checks": ["list of regulatory or policy requirements the tone must satisfy"] }, "implementation_notes": { "consistency_requirements": "How this tone should be applied across surfaces (chat, API, voice)", "override_scenarios": ["Situations where the primary tone should be overridden"], "cultural_adaptation_notes": "Any locale-specific adjustments needed" } } ## CONSTRAINTS - Do not recommend a tone that contradicts the stated risk level or regulatory requirements. - If the risk level is "high" or "regulated," prioritize clarity and compliance over warmth. - If the user relationship is "enterprise" or "patient," avoid language that could be interpreted as legal or medical advice. - Every tone recommendation must be defensible with a rationale tied to the inputs. - Do not produce generic advice. Every field must reference specific details from the provided inputs.
To adapt this template, replace each placeholder with data from your application's configuration layer. [PRODUCT_CONTEXT] should describe what your product does and the relationship users have with it—for example, "a telehealth platform connecting patients with licensed providers" or "a developer tool for infrastructure-as-code generation." [REFUSAL_SCENARIOS] should list the concrete situations where your system must refuse, such as "requests for medical dosage without provider review" or "generation of production database credentials." The output JSON becomes a reference document that your refusal prompt templates consume as a [TONE_PROFILE] input, ensuring every refusal across your product surfaces follows the same voice attributes, structure, and language constraints.
Before deploying the generated tone profile, validate it against your actual refusal scenarios. Run the example refusal through your safety review process and check whether the evaluation_criteria are measurable in your observability stack. If your product operates in multiple locales, generate a separate profile for each market using locale-specific [USER_BASE_DESCRIPTION] and [BRAND_VOICE] inputs, then run the Refusal Tone Cultural Sensitivity Adjustment Prompt against each variant. Store the profile as a versioned artifact in your prompt registry so that refusal prompt updates can reference a specific tone profile version and regressions can be traced.
Prompt Variables
Required and optional inputs for the Refusal Tone Selection Prompt Template. Validate each placeholder before sending the prompt to avoid tone mismatches and policy drift.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[PRODUCT_CONTEXT] | Describes the product type, user base, and interaction surface | Consumer banking app, mobile chat interface, 2M MAU | Must be a non-empty string. Reject generic values like 'app' or 'website'. Check for surface type (chat, voice, API) to inform tone selection. |
[USER_RELATIONSHIP] | Defines the relationship between the user and the product or organization | Existing customer with 3-year account history | Must be one of: new_user, returning_user, authenticated_customer, anonymous_visitor, enterprise_employee. Reject null or unrecognized values. |
[REQUEST_RISK_LEVEL] | The assessed risk level of the request being refused | medium | Must be one of: low, medium, high, critical. Map to your internal risk taxonomy before insertion. Reject unmapped or free-text values. |
[POLICY_REFERENCE] | The specific policy or policies that justify the refusal | Acceptable Use Policy Section 4.2; Financial Services Guideline 3.1 | Must contain at least one policy identifier. Validate against current policy registry. Reject placeholder text or policy IDs not found in the registry. |
[TONE_STYLE_CANDIDATES] | The tone styles under consideration for this refusal context | empathetic, firm, educational | Must be a comma-separated list drawn from: empathetic, firm, neutral, educational, de-escalation, apologetic, direct, humorous. Reject values outside this enum. Minimum 1, maximum 3 candidates. |
[BRAND_VOICE_GUIDELINES] | Excerpts from brand voice documentation that constrain tone selection | We are warm but never casual. We are clear but never cold. | Must be a non-empty string. If no brand guidelines exist, use 'no_specific_guidelines'. Reject null. Truncate to 500 characters if longer. |
[PREVIOUS_REFUSAL_FEEDBACK] | Aggregated user feedback or metrics from prior refusal experiences | Users rated empathetic refusals 4.2/5; firm refusals generated 12% more escalations | Optional. If provided, must include at least one quantitative metric or structured feedback theme. Reject anecdotal-only input without data. |
[REGULATORY_CONTEXT] | Applicable regulatory frameworks that constrain refusal language | GDPR Article 22; PCI DSS Requirement 12 | Optional. If provided, each entry must match a known regulation in the compliance registry. Reject unrecognized regulation names. Use 'none' if no regulatory constraints apply. |
Implementation Harness Notes
How to wire the Refusal Tone Selection prompt into a product workflow with validation, logging, and human review gates.
This prompt is designed to be called programmatically as part of a product configuration or safety policy setup workflow, not as a real-time user-facing endpoint. It should be triggered when a product team is defining or updating the refusal experience for a new feature, surface, or user segment. The primary integration point is a configuration service or admin panel where product managers or safety engineers input the product context, user relationship, and risk level. The output—a tone profile with rationale, example language, and evaluation criteria—should be stored as a structured configuration object that downstream refusal prompts reference at runtime.
Integration pattern: Wrap the prompt in a service function that accepts [PRODUCT_CONTEXT], [USER_RELATIONSHIP], [RISK_LEVEL], and [BRAND_VOICE_GUIDELINES] as structured inputs. Validate inputs before calling the model: [RISK_LEVEL] must be one of low, medium, high, or critical; [USER_RELATIONSHIP] must be one of consumer, enterprise, regulated-professional, or public; and [PRODUCT_CONTEXT] must be a non-empty string under 500 characters. Reject malformed inputs before incurring model cost. On the output side, parse the JSON response and validate that all required fields are present: primary_tone, tone_attributes, example_refusal_phrasing, evaluation_criteria, and trade_off_notes. If parsing fails or required fields are missing, retry once with a repair prompt that includes the raw output and the expected schema. After two failures, escalate to a human reviewer through your configuration review queue.
Model selection and latency: This is a low-frequency, high-judgment configuration task. Use a capable model with strong instruction-following and structured output support, such as gpt-4o or claude-3.5-sonnet. Latency is not critical since this runs during setup, not during user requests. Set temperature to 0.3 to balance creativity in tone suggestions with consistency across runs. Enable structured output mode if your provider supports it, passing the expected JSON schema directly rather than relying on prompt-based format instructions alone. Logging and audit: Log every invocation with the input parameters, model version, raw output, parsed tone profile, and validation result. This audit trail is essential when refusal tone decisions are reviewed during safety policy audits or incident postmortems. Store logs in your prompt observability system with the tag refusal-tone-selection for traceability.
Human review gate: The generated tone profile should not be deployed directly to production without review. Route the output to a human approval step where a product manager or safety engineer confirms the tone selection, edits example phrasing if needed, and signs off on the evaluation criteria. Only after approval should the profile be written to the configuration store that downstream refusal prompts consume. Downstream wiring: The approved tone profile becomes an input to runtime refusal prompts. Pass primary_tone and tone_attributes into the system prompt of your refusal generation prompt as [REFUSAL_TONE] and [TONE_ATTRIBUTES]. Use example_refusal_phrasing as few-shot examples in the refusal prompt. Embed evaluation_criteria into your LLM-as-judge eval harness to automatically score refusal outputs for tone adherence. This creates a closed loop: the selection prompt defines the tone contract, runtime prompts execute it, and evals verify compliance.
Expected Output Contract
Defines the fields, types, and validation rules for the tone profile object returned by the Refusal Tone Selection Prompt. Use this contract to parse and validate the model output before routing it to downstream refusal generation systems.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
primary_tone_style | enum: empathetic | firm | neutral | educational | direct | apologetic | humorous | Must match exactly one value from the allowed enum list. Reject any output with a non-matching or compound value. | |
tone_rationale | string | Must be a non-empty string between 50 and 300 characters. Must reference at least one of the provided input factors: [PRODUCT_CONTEXT], [USER_RELATIONSHIP], or [RISK_LEVEL]. | |
key_phrasing_guidelines | array of strings | Must contain 3-5 string elements. Each element must be a complete sentence starting with a verb (e.g., 'Acknowledge the user's goal before stating the boundary'). | |
prohibited_language_patterns | array of strings | Must contain at least 2 string elements. Each element must describe a specific phrase or pattern to avoid (e.g., 'Do not use 'I'm sorry' as a standalone refusal'). | |
trust_preservation_strategy | string | Must be a non-empty string. Must explicitly name one strategy from the predefined list: acknowledgment, redirection, transparency, or empowerment. | |
escalation_risk_notes | string | If provided, must be a non-empty string. If [RISK_LEVEL] is 'high', this field is required and must contain a specific de-escalation instruction. | |
example_refusal_snippet | string | Must be a non-empty string under 200 characters. Must contain a placeholder for the refused request, indicated by square brackets (e.g., 'I can't help with [REQUEST], but I can...'). |
Common Failure Modes
Refusal tone selection fails in predictable ways. These are the most common production failure modes and how to guard against them before they reach users.
Tone-Policy Mismatch
What to watch: The selected tone undermines the policy boundary. An empathetic refusal for a legal compliance issue can sound negotiable. A firm refusal for a minor capability gap can feel hostile. Guardrail: Map each policy category to an allowed tone set before generation. Validate that the output tone matches the policy severity level.
Over-Refusal from Conservative Tone Selection
What to watch: Defaulting to firm or neutral tones for all refusals causes the system to reject benign requests that superficially resemble disallowed content. Users perceive the system as unhelpful and abandon the product. Guardrail: Implement a two-stage check: first classify the actual risk level, then select tone. Add false-positive monitoring with weekly refusal audit samples.
Escalation Spiral from Miscalibrated Tone
What to watch: A refusal tone that feels dismissive or opaque triggers user frustration, leading to rephrased requests, appeals, and support tickets. Each turn increases interaction cost and user churn risk. Guardrail: Include a clarity check in evaluation: does the refusal explain why and what the user can do next? Track escalation rate by tone variant in production.
Cultural Tone Assumptions in Global Deployment
What to watch: Direct refusals that work in one market read as rude in another. Apologetic tones that build trust in one locale signal weakness in another. A single tone profile applied globally creates localized failure clusters. Guardrail: Require locale as an input to tone selection. Test refusal outputs with native-speaker reviewers per target market before rollout.
Tone Drift Across Conversation Turns
What to watch: The system starts with the correct refusal tone but drifts across multi-turn interactions. A firm refusal on turn three becomes apologetic on turn five after user pushback, creating policy inconsistency that adversarial users exploit. Guardrail: Include conversation history in the tone selection context. Validate refusal consistency across turns in multi-turn test suites.
Tone Selection Without Risk Context
What to watch: Selecting refusal tone based only on product voice guidelines without considering the specific request risk level. A humorous refusal for a borderline safety issue causes brand damage. A neutral refusal for a trivial request feels robotic. Guardrail: Require both risk classification score and product voice parameters as inputs to tone selection. Gate humorous or casual tones behind low-risk thresholds.
Evaluation Rubric
Criteria for testing the quality and safety of a generated refusal tone profile before it is deployed or used to configure a production system.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Tone Profile Completeness | Output includes all required fields: primary_tone, secondary_tone, key_phrases, forbidden_phrases, and escalation_triggers. | Missing one or more required fields in the JSON output. | Schema validation check against the defined [OUTPUT_SCHEMA]. |
Contextual Fit | The recommended primary_tone is logically consistent with the provided [PRODUCT_CONTEXT], [USER_RELATIONSHIP], and [RISK_LEVEL] inputs. | The tone recommendation contradicts a core input, e.g., a 'firm' tone for a 'consumer social' app with 'low risk'. | LLM-as-judge pairwise comparison against a golden set of context-tone mappings. |
Policy Alignment | All key_phrases and the overall tone profile support the stated [SAFETY_POLICY] without creating loopholes. | A key_phrase softens the policy boundary, e.g., 'I can't usually do that' for a zero-tolerance policy. | Adversarial review by a second LLM call tasked with finding policy contradictions in the output. |
Trust Preservation | The tone profile avoids language that is judgmental, condescending, or alienating as defined by the [USER_RELATIONSHIP] input. | The profile includes forbidden_phrases like 'You should know better' or 'That's a bad idea'. | Sentiment analysis on a batch of simulated refusals generated from this profile. |
Escalation Risk Mitigation | The escalation_triggers field correctly identifies scenarios where the AI should hand off to a human instead of refusing, based on [RISK_LEVEL]. | For a 'high risk' context, the escalation_triggers list is empty or only contains generic triggers. | Rule-based check: if [RISK_LEVEL] is 'high', escalation_triggers must contain at least one specific trigger. |
Actionability | The key_phrases and forbidden_phrases are concrete strings that can be directly inserted into a system prompt. | Phrases are abstract descriptions like 'be nice' or 'use a friendly tone' instead of specific wording. | Human review by a prompt engineer: can these phrases be copied verbatim into a system prompt? |
Format Adherence | Output is valid JSON that strictly conforms to the [OUTPUT_SCHEMA] without extra commentary. | Output is wrapped in markdown fences or contains conversational text before the JSON object. | Automated JSON parse test; failure triggers a retry with a stricter format reminder. |
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
Use the base prompt with a single tone style and minimal output schema. Focus on generating a clear tone profile without full evaluation criteria.
Prompt modification
- Remove the [EVALUATION_CRITERIA] section and replace with a simple instruction: "Describe the recommended tone in 2-3 sentences."
- Reduce [USER_PERSONA] and [PRODUCT_CONTEXT] to free-text fields rather than structured inputs.
- Use a lightweight output format: plain text or simple JSON with
tone_styleandrationalefields only.
Watch for
- Missing consistency across multiple runs—same inputs may produce different tone recommendations.
- Overly broad tone descriptions that can't be translated into actual system prompt instructions.
- No validation that the recommended tone actually matches the risk level provided.

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