Verified against ChatGPT · 2026-08-13
Write a support macro with real variable slots instead of one so generic it needs rewriting every time
Builds a reusable support macro for a recurring situation with explicit variable slots and conditional branches, so agents can actually use it as-is for the common case rather than rewriting most of it every time.
The prompt
Ready to copy — highlighted parts are example details you can swap.
You are writing a reusable macro/canned response for a specific recurring support situation — it needs to be genuinely usable as-is most of the time, with a small number of clearly marked slots for agents to fill in, not a generic template so vague it requires substantial rewriting for every use.
SITUATION THIS MACRO COVERS
Customer asking to cancel their subscription mid-cycle and whether they get a prorated refund.
HOW OFTEN VARIATIONS OCCUR (what actually changes case to case)
Whether they're on monthly or annual billing changes the answer entirely (roughly 60/40 split); the exact refund dollar amount varies every time and must be a slot; the reason for canceling almost never changes the reply itself.
EXISTING MACROS TO AVOID OVERLAPPING
'General Cancellation Confirmation' exists but doesn't address proration at all — may need updating instead of a new macro.
BRAND VOICE
Straightforward, no forced positivity about someone leaving — don't oversell trying to save the subscription unless a save offer is specifically part of policy.
HOW TO BUILD THIS
Write the macro so the parts that are genuinely constant across every use (the core explanation, the policy statement, the closing) are fully written out, natural-sounding text — not placeholder-heavy in the parts that don't actually vary. Mark only the parts that genuinely differ case to case as explicit slots, matching what Whether they're on monthly or annual billing changes the answer entirely (roughly 60/40 split); the exact refund dollar amount varies every time and must be a slot; the reason for canceling almost never changes the reply itself. says actually changes — if a detail is true in 95% of cases, write it as the default text with a note on when to edit it, rather than making everyone fill in a slot for something almost never different. If the situation has a common branch (e.g., the reply differs meaningfully depending on one key fact), write both branches clearly labeled, not one macro trying to awkwardly cover both cases in vague language that technically works for either. Check 'General Cancellation Confirmation' exists but doesn't address proration at all — may need updating instead of a new macro. and flag if this new macro substantially overlaps with one that already exists, rather than creating a near-duplicate that agents will be confused about which to use.
WHAT NOT TO DO
Do not write a macro so generic it reads as obviously copy-pasted to the customer — a macro should sound like a real reply, not like a template with the seams showing. Do not add slots for details that rarely change; every slot is friction for the agent using it, so only add one where Whether they're on monthly or annual billing changes the answer entirely (roughly 60/40 split); the exact refund dollar amount varies every time and must be a slot; the reason for canceling almost never changes the reply itself. shows real, frequent variation.
OUTPUT FORMAT
1. The macro, with slots clearly marked (e.g., {{slot_name}}) and a one-line note on what goes in each and how often it needs changing.
2. If there's a common branch point, both versions clearly labeled with the deciding condition.
3. A note on overlap with 'General Cancellation Confirmation' exists but doesn't address proration at all — may need updating instead of a new macro., if any.Customize
Optional — swap in your own details for the highlighted parts above.
Why this works
GPT-5.1's default instinct when asked for a reusable template is to over-genericize — replacing anything that could plausibly vary with a bracketed placeholder — because maximizing apparent flexibility feels safer than committing to specific wording, but a macro built this way shifts almost all the actual writing burden back onto the agent using it, defeating the entire purpose of having a macro in the first place; explicitly stating which details actually vary frequently versus which are true nearly every time forces the model to commit real wording to the stable 95% case and reserve slots only for genuine variation. Writing out both branches of a common fork explicitly, rather than one macro vaguely worded to technically cover either case, matters because language general enough to be simultaneously true for a monthly and an annual billing cycle reads as noticeably hedged and impersonal to the customer receiving it — a customer can tell when a reply was worded to avoid being wrong rather than to actually answer their specific situation, and that vagueness is a common, avoidable source of the "this feels like a copy-paste" complaint that undermines trust in support replies generally. Checking against existing macros before generating a new one addresses a real operational cost of AI-assisted macro creation: without that check, it's trivially easy to end up with three overlapping cancellation macros that say almost the same thing slightly differently, which creates exactly the kind of agent confusion about which one to use that a macro library is supposed to eliminate, not introduce. Limiting slots strictly to points of frequent real variation is the mechanism that keeps agent friction low — every additional slot is a moment where an agent has to stop, think, and fill something in rather than just sending, and a macro with too many slots functions worse in practice than a slightly less flexible one that mostly just works.
What you get back
Monthly billing branch: "You're all set — your subscription is canceled effective {{cancellation_date}}, and you'll keep access until then. Since you're on monthly billing, there's no prorated refund for the current cycle, but you won't be charged again after {{cancellation_date}}." Annual billing branch: "You're all set — your subscription is canceled, and since you're on annual billing, you're eligible for a prorated refund of {{refund_amount}} for the unused months, which will post to your original payment method within 5-7 business days." Overlap note: 'General Cancellation Confirmation' should likely be retired in favor of these two branches, since it currently gives no guidance on proration and agents have been improvising that part.
Verified against
ChatGPT GPT-5.1 · 2026-08-13
Changelog
- 2026-08-13 — Initial publish, verified against ChatGPT GPT-5.1.
Need this built into your business?
If a prompt isn't enough — what Scult builds, built and maintained for you — that's Scult's day job.
EXPLORE WHAT SCULT BUILDS
