This prompt is designed for a single, high-stakes job: preventing an autonomous agent from executing a tool call that would exceed a predefined cost budget. The ideal user is a FinOps engineer, a platform cost engineer, or an SRE embedding a financial safety harness directly into an agent's decision loop. It is not a general-purpose cost estimator or a replacement for cloud billing alerts. The prompt's sole function is to act as a synchronous approval gate, forcing the agent to calculate the projected cost of a proposed action, compare it against a hard budget cap, and either proceed with a structured justification or halt execution with a clear reason. It requires the agent to have access to a resource pricing table, the current cumulative spend, and the proposed tool's estimated duration or resource consumption.
Prompt
Cost Threshold Approval Prompt for Agent Actions

When to Use This Prompt
Define the job, reader, and constraints for the Cost Threshold Approval Prompt.
Use this prompt when an agent has the autonomy to invoke tools that incur direct, variable costs—such as provisioning cloud resources, running large-scale data processing jobs, or calling third-party APIs with per-use fees. It is appropriate when the cost of a single action can be material and the budget is a hard constraint, not a soft guideline. The prompt is designed to be inserted as a pre-execution hook in an agent framework like LangChain or a custom orchestrator. It expects the agent to receive a structured [PROPOSED_ACTION] object, a [PRICING_TABLE] mapping resources to unit costs, and a [BUDGET_CONTEXT] that includes the total budget and current spend. The output is a strict JSON decision that downstream code can parse to allow or block the action. Do not use this prompt for actions with zero or negligible cost, or where the pricing model is too complex to be expressed in a simple table, as the model will likely produce a false sense of precision.
The primary constraint is that this prompt is a deterministic gate, not a negotiator. It must not be used in a conversational loop where the agent can argue for a budget increase. The prompt's instructions explicitly forbid the model from modifying the budget or pricing table. Failure modes to watch for include the model hallucinating pricing data if the [PRICING_TABLE] is incomplete, or incorrectly classifying a fixed-cost action as variable. To mitigate this, always validate the output JSON against a strict schema before the action is allowed to proceed. If the model's confidence is low or the cost calculation is ambiguous, the system should default to blocking the action and escalating to a human operator. The next step after implementing this prompt is to embed it within a retry-and-escalation harness that logs every decision, captures the full context for audit, and routes blocked actions to a human-in-the-loop review queue.
Use Case Fit
Where the Cost Threshold Approval Prompt works, where it fails, and the operational prerequisites for safe deployment.
Good Fit: Pre-Compute Cost Estimates
Use when: The agent can deterministically calculate the cost of a proposed action before execution by querying a pricing API or resource catalog. Guardrail: The prompt must require a structured cost breakdown (unit price × estimated units × duration) rather than a free-text guess. This makes the threshold comparison auditable and prevents hallucinated pricing.
Bad Fit: Unbounded or Variable-Cost Actions
Avoid when: The action's cost depends on downstream system state that the agent cannot query (e.g., a database scan whose row count is unknown). Guardrail: If cost cannot be pre-computed, the prompt should escalate for human approval with an explicit cost_unknown: true flag and a maximum possible cost estimate, rather than approving silently.
Required Input: Hard Budget Cap
Risk: Without a system-enforced budget ceiling, the prompt's threshold check is advisory and can be ignored by a misbehaving agent or a prompt injection attack. Guardrail: The application layer must enforce a hard cap that terminates the agent's tool-use loop when cumulative spend reaches the limit, regardless of what the prompt's approval logic decides.
Required Input: Resource Pricing Data
Risk: The agent may hallucinate unit costs for compute, API calls, or storage if pricing data is stale or missing from its context. Guardrail: Provide a current pricing table as a tool or as injected context. The prompt must instruct the agent to refuse cost estimation if the required resource type is not found in the provided pricing data.
Operational Risk: Cumulative Spend Blindness
Risk: The agent approves many small actions that each fall under the per-action threshold but collectively exhaust the budget. Guardrail: The prompt must compare the proposed action's cost against the remaining budget, not just the per-action threshold. The system must track cumulative spend across the agent's session and inject it into the prompt context.
Operational Risk: Approval Bypass via Prompt Injection
Risk: A malicious input or tool output could instruct the agent to ignore the cost threshold or mark an expensive action as cost: 0. Guardrail: The cost estimation and threshold comparison logic should be implemented in deterministic application code, not solely in the prompt. The prompt's role is to explain the decision, not to be the sole enforcement mechanism.
Copy-Ready Prompt Template
A reusable prompt template for generating cost estimates and approval decisions before an agent executes a billable action.
This template is designed to be inserted into an agent's tool-execution pipeline immediately before any action that incurs a direct cost. It forces the model to produce a structured cost estimate, compare it against a configured approval threshold, and recommend an action—either proceed, escalate for human approval, or block. The prompt is not a standalone chatbot instruction; it expects to receive structured context from the application layer, including resource pricing, current budget state, and the proposed action details.
textYou are a cost enforcement agent. Before executing any billable action, you must produce a structured cost estimate and an approval decision. ## Input - Proposed Action: [ACTION_DESCRIPTION] - Action Parameters: [ACTION_PARAMETERS] - Resource Pricing Table (resource: cost per unit): [RESOURCE_PRICING] - Estimated Resource Consumption: [ESTIMATED_CONSUMPTION] - Estimated Duration (seconds): [ESTIMATED_DURATION] - Current Budget Period: [BUDGET_PERIOD] - Total Budget for Period: [TOTAL_BUDGET] - Budget Consumed So Far: [BUDGET_CONSUMED] - Approval Threshold (absolute cost): [APPROVAL_THRESHOLD] - Hard Cap (absolute cost): [HARD_CAP] - Requester Identity: [REQUESTER_IDENTITY] - Approval Queue: [APPROVAL_QUEUE] ## Task 1. Calculate the estimated total cost of the proposed action using the pricing table and estimated consumption. 2. Calculate the projected budget utilization percentage after the action completes. 3. Compare the estimated cost against the approval threshold and hard cap. 4. Generate a structured output following the schema below. ## Constraints - If the estimated cost exceeds the hard cap, the decision must be BLOCK. - If the estimated cost exceeds the approval threshold but not the hard cap, the decision must be ESCALATE. - If the estimated cost is at or below the approval threshold, the decision may be PROCEED. - Include a budget exhaustion warning if projected utilization exceeds 80%. - All monetary values must be in [CURRENCY] with 4 decimal places. - Do not invent pricing data; use only the provided Resource Pricing Table. ## Output Schema { "decision": "PROCEED | ESCALATE | BLOCK", "estimated_cost": { "amount": number, "currency": "[CURRENCY]", "breakdown": [ {"resource": string, "quantity": number, "unit_cost": number, "line_total": number} ] }, "budget_impact": { "current_utilization_pct": number, "projected_utilization_pct": number, "budget_exhaustion_warning": boolean, "remaining_budget_after": number }, "threshold_comparison": { "approval_threshold": number, "hard_cap": number, "within_approval_threshold": boolean, "within_hard_cap": boolean }, "escalation_details": { "requester": "[REQUESTER_IDENTITY]", "queue": "[APPROVAL_QUEUE]", "reason": string, "expires_at": "ISO8601 timestamp or null" }, "warnings": [string] }
To adapt this template, replace each square-bracket placeholder with values injected by your application's cost-tracking and action-orchestration layer. The RESOURCE_PRICING table should be sourced from your cloud provider's pricing API or an internal rate card—never hardcoded. The ESTIMATED_CONSUMPTION and ESTIMATED_DURATION fields should come from a pre-flight estimation step, not from the agent's own guess. For high-stakes environments, always pair this prompt with a post-execution reconciliation step that compares the estimate against actual incurred cost and flags discrepancies above a tolerance threshold for human review.
Prompt Variables
Required inputs for the Cost Threshold Approval Prompt. Each placeholder must be populated before the prompt is assembled and sent to the model. Missing or malformed variables will cause the approval gate to fail open or closed incorrectly.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[ACTION_DESCRIPTION] | Human-readable summary of the proposed agent action | Provision 3x g5.xlarge instances in us-east-1 for batch inference job | Must be non-empty string; max 500 chars; reject if contains only whitespace or placeholder text |
[RESOURCE_PRICING_TABLE] | Structured cost data for each resource the action will consume | g5.xlarge: $1.006/hr on-demand, $0.404/hr reserved; EBS gp3: $0.08/GB-month | Must be valid JSON array with resource, unit, and rate_per_unit fields; reject if missing required fields or contains negative rates |
[ESTIMATED_DURATION_HOURS] | Projected wall-clock duration of the action in hours | 4.5 | Must be positive float; reject if zero, negative, or exceeds [MAX_DURATION_HOURS] cap; null allowed only if duration is genuinely unknown |
[CUMULATIVE_BUDGET_USD] | Total budget allocated for the current billing period | 15000.00 | Must be positive float; reject if zero or negative; compare against [COST_TO_DATE_USD] to detect budget exhaustion |
[COST_TO_DATE_USD] | Spend already incurred in the current billing period | 12450.75 | Must be non-negative float; reject if negative; sum with estimated action cost must not exceed [CUMULATIVE_BUDGET_USD] without explicit override |
[APPROVAL_THRESHOLD_USD] | Dollar amount above which human approval is mandatory | 500.00 | Must be positive float; reject if zero or negative; actions with estimated cost above this threshold must route to approval queue |
[HARD_CAP_USD] | Absolute maximum spend allowed regardless of approval | 20000.00 | Must be positive float; reject if less than [APPROVAL_THRESHOLD_USD]; any action that would exceed this cap must be blocked with no override path |
[BUDGET_PERIOD_START] | ISO 8601 start of the current billing period for exhaustion calculation | 2025-01-01T00:00:00Z | Must be valid ISO 8601 datetime; reject if in the future or unparseable; used to determine if budget reset is imminent |
Implementation Harness Notes
How to wire the cost threshold approval prompt into an agent orchestration layer with validation, retries, logging, and human review gates.
The cost threshold approval prompt is not a standalone safety net—it must be embedded into the agent's tool execution loop as a mandatory pre-flight check for any action that incurs cost. Wire this prompt into your orchestration layer so that before an agent invokes a billable API, spins up a compute resource, or triggers a paid tool, the framework calls this prompt with the proposed action's cost estimate, current budget state, and approval threshold. The prompt returns a structured decision: APPROVE, ESCALATE, or BLOCK. Your harness must enforce that decision—an APPROVE allows execution, an ESCALATE routes to a human review queue with the full justification payload, and a BLOCK prevents execution and logs the reason. Never allow the agent to bypass this gate through prompt injection or tool-call chaining; the approval check must be a hard-coded step in the orchestration framework, not a suggestion in the system prompt.
Implement the harness with these concrete components: 1) Cost Estimator—before calling the approval prompt, compute the projected cost using resource pricing tables, estimated duration, and any per-call fees. Pass these as structured fields in [COST_ESTIMATE]. 2) Budget Tracker—maintain a real-time cumulative spend counter and remaining budget. Feed [CURRENT_BUDGET_STATE] with total_budget, spent_to_date, remaining, and burn_rate. 3) Threshold Config—store approval thresholds per action category (e.g., actions under $10 auto-approve, $10–$500 require escalation, over $500 auto-block). Pass these as [APPROVAL_THRESHOLDS]. 4) Validation Layer—after the prompt returns, validate the JSON structure against a schema that requires decision, reasoning, risk_flags, and recommended_action. If validation fails, retry once with the error message; if it fails again, default to ESCALATE with a validation_failure flag. 5) Audit Log—write every approval decision, including the full prompt input, model response, validator result, and final harness action, to an append-only log with timestamps and actor identity. This is non-negotiable for FinOps governance.
Choose your model and retry strategy carefully. For cost decisions, prefer a model with strong structured output support (GPT-4o, Claude 3.5 Sonnet) and set temperature=0 to minimize variance in threshold comparisons. Implement a circuit breaker: if the approval prompt fails three consecutive times, block all cost-incurring actions and alert the platform team. For high-throughput systems, cache approval decisions for identical action-cost-budget tuples with a short TTL (e.g., 60 seconds) to avoid redundant LLM calls. When the budget tracker shows less than 10% remaining, automatically tighten thresholds—actions that previously auto-approved should escalate. Wire budget exhaustion as a hard stop: when remaining <= 0, the harness must block all billable actions regardless of the prompt's output. The prompt advises; the harness enforces.
Human review integration is the most critical handoff. When the prompt returns ESCALATE, your harness must: (a) push a structured ticket to the designated review queue (PagerDuty, Jira, Slack workflow) containing the full approval request, cost breakdown, and risk flags; (b) start a timeout timer based on the action's urgency; (c) if no human responds before timeout, apply the configured default (typically BLOCK for high-cost actions, APPROVE for low-cost with warnings); (d) on human decision, log the reviewer identity, decision, and any overrides. Never allow the agent to proceed while awaiting human review—the orchestration layer must suspend the agent's execution context and resume only after receiving an explicit approval signal. Test this path regularly with synthetic escalations to ensure the review pipeline doesn't silently degrade.
Common failure modes to instrument for: the prompt hallucinates budget numbers instead of using the provided [CURRENT_BUDGET_STATE] (validate that response figures match input); the model approves an action that exceeds the threshold due to arithmetic errors (add a post-prompt numeric comparison check in the harness); the agent accumulates many small sub-threshold actions that collectively exhaust the budget (implement a rolling window spend check that escalates when short-term burn rate spikes); and the human review queue becomes a bottleneck during incident response (pre-define emergency break-glass roles that can override blocks with mandatory post-action review). Monitor these with dashboards tracking approval rates, escalation rates, budget consumption velocity, and human review latency. The prompt is the decision engine; the harness is the safety envelope.
Expected Output Contract
Fields, format, and validation rules for the cost approval decision. Use this contract to parse and validate the agent's output before routing to the approval queue or auto-denying.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
approval_decision | enum: APPROVED | DENIED | NEEDS_REVIEW | Must match one of the three enum values exactly. Case-sensitive. | |
estimated_cost | object | Must contain currency, amount, and unit_price fields. amount must be a positive float. | |
estimated_cost.currency | string (ISO 4217) | Must be a valid 3-letter ISO 4217 currency code. | |
estimated_cost.amount | float | Must be > 0. Calculated as unit_price * projected_units. Must not exceed [HARD_CAP]. | |
budget_remaining | float | Must be >= 0. Represents remaining budget after this action. If < 0, approval_decision must be DENIED. | |
threshold_comparison | object | Must contain threshold_value and exceeds_threshold (boolean). If exceeds_threshold is true and no override present, decision must not be APPROVED. | |
warnings | array of strings | If budget_remaining < [WARNING_THRESHOLD], must contain at least one budget exhaustion warning. Each string must be non-empty. | |
resource_pricing | array of objects | Each object must have resource_type (string), unit_price (float > 0), and projected_units (float > 0). Array must not be empty. |
Common Failure Modes
Cost threshold approval prompts fail in predictable ways when deployed in production agent systems. These are the most common failure modes and the guardrails that prevent them.
Agent Bypasses Cost Check Through Prompt Injection
What to watch: A downstream tool output or user message contains instructions telling the agent to ignore the cost approval step. The agent follows the injected instruction and executes the action without generating the required cost estimate. Guardrail: Place the cost threshold instruction in the system prompt at the highest privilege level. Add a pre-execution validator that confirms the cost estimate structure exists in the agent's output before any tool call proceeds. Reject any execution path that lacks the required estimate fields.
Incomplete Cost Estimates Skip Hidden Charges
What to watch: The agent calculates only the obvious line items—compute time, API call count—but omits data egress fees, storage retention costs, or per-user licensing impacts. The approval fires on a misleadingly low number. Guardrail: Provide a required cost schema with mandatory fields for compute, storage, network egress, third-party fees, and projected cumulative impact. Add an eval check that flags estimates missing any required category. Use a tool that queries real-time pricing rather than relying on model memory.
Threshold Comparison Uses Wrong Budget Window
What to watch: The agent compares the action cost against the monthly budget but the action spans multiple billing periods, or it compares against the total project budget when the team only has a weekly allocation remaining. The approval decision is mathematically correct but operationally wrong. Guardrail: Require the prompt to surface the remaining budget in the current window, the projected cost of all in-flight actions, and the post-execution remaining balance. Include a budget exhaustion warning when the remaining balance after execution falls below a configurable percentage.
Agent Hallucinates Pricing for Unfamiliar Resources
What to watch: When the agent encounters a resource type or SKU it doesn't have pricing data for
Cumulative Spend Across Parallel Agents Exceeds Budget
What to watch: Each agent instance checks its own action against the threshold independently, but five agents running in parallel each approve actions that are individually under budget while the combined spend blows through the limit. Guardrail: Require the cost check to query a shared budget tracker or state store before approval, not just compare against a static threshold. Include the current committed-but-unexecuted spend from other agents in the approval calculation. Add a hard-cap enforcement that rejects any action when aggregate committed spend exceeds the budget.
Approval Prompt Produces Correct Estimate but Agent Ignores Denial
What to watch: The cost threshold prompt correctly identifies that an action exceeds the budget and recommends denial
Evaluation Rubric
Test the cost threshold approval prompt's output quality before shipping. Each criterion targets a specific failure mode in production cost-gating workflows.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Cost Estimate Accuracy | Total cost matches manual calculation from [RESOURCE_PRICING] and [PROJECTED_DURATION] | Cost figure off by >5% or missing line items | Run 10 varied [ACTION_PLAN] inputs; compare prompt output to spreadsheet calculation |
Threshold Comparison Logic | Correctly flags actions above [APPROVAL_THRESHOLD] and passes those below | Approval required for below-threshold action or auto-approved above-threshold action | Test boundary values: threshold exactly, threshold+0.01, threshold-0.01 |
Budget Exhaustion Warning | Triggers when cumulative spend + estimated cost exceeds [BUDGET_CAP] | No warning when budget would be exceeded or false warning when under cap | Feed sequential action history approaching cap; verify warning fires at correct point |
Hard-Cap Enforcement | Refuses execution when estimated cost alone exceeds [BUDGET_CAP] regardless of cumulative spend | Approval request generated instead of hard refusal | Input single action with cost > [BUDGET_CAP]; confirm refusal message, not approval request |
Resource Pricing Parsing | Correctly extracts unit price, unit type, and quantity from [RESOURCE_PRICING] schema | Wrong unit interpretation (e.g., per-hour treated as per-request) | Supply pricing with mixed units; verify extracted values match source |
Cumulative Budget Tracking | Running total accurately sums prior approved actions from [CUMULATIVE_SPEND] field | Cumulative total resets or ignores prior spend entries | Provide [CUMULATIVE_SPEND] with 3 prior actions; verify sum in output matches |
Output Schema Compliance | Returns valid JSON matching [OUTPUT_SCHEMA] with all required fields present | Missing required field, wrong type, or extra fields not in schema | Validate output against JSON Schema; flag any schema violations |
Approval Justification Quality | Justification includes specific cost drivers, not generic phrases like 'high cost' | Justification is empty, templated, or lacks reference to actual line items | Review justification field for presence of dollar amounts and resource names from input |
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 cost table. Replace [RESOURCE_PRICING] with a static JSON block containing known SKU rates. Use a simple numeric comparison: if estimated_cost > [APPROVAL_THRESHOLD], escalate. Skip budget exhaustion logic and cumulative tracking. Focus on getting the estimate shape right.
Watch for
- Missing resource types that cause zero-cost estimates
- Hardcoded thresholds that don't match real budgets
- No handling of unknown or unpriced resources

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