DEV Community

OpsPack
OpsPack

Posted on

The 10 scope-creep emails I'd save as Gmail templates

"Can you just add one more thing?"

If you answer yes in the chat and start working, you've already lost the negotiation. The fix isn't a longer contract — it's ten short emails you can paste from Gmail templates so every new request gets triaged before unpaid work starts.

Save each of these as a canned response. Replace the [BRACKETS] once per project and reuse.

1. Clarifying a vague request

Subject: Quick details on [REQUEST SHORT NAME]

Hi [NAME],

Thanks for sending this. Before I place it in the plan, could you confirm:

  • [Desired outcome / what "done" looks like]
  • [Format, quantity, audience, or platforms]
  • [Needed-by date and who has final say]

Once I have those, I'll confirm whether it fits the current [scope / revision round] or outline the smallest adjustment needed.

Thanks,
[YOUR NAME]

2. Confirming something is in scope

Subject: Confirmed — [REQUEST] is in scope

Hi [NAME],

Good news: [REQUEST] fits our agreed scope / current revision round for [PROJECT].

I'll include it in [MILESTONE / THIS WEEK'S PLAN]. No change to fee or deadline from this item alone.

If anything expands beyond [BOUNDARY — e.g. one consolidated feedback batch], I'll flag it before doing extra work.

Best,
[YOUR NAME]

3. Flagging a change (pause before unpaid work)

Subject: [PROJECT] — treating [REQUEST] as a scope change

Hi [NAME],

Thanks for the note on [REQUEST]. Compared to our scope baseline ([DATE / SOW]), this looks like a change because [ONE CLEAR REASON].

I'm pausing on that piece until we pick a path so we don't burn timeline or budget by accident. I'll send options shortly (trade scope, move the date, add a fee, or defer).

If you meant something smaller — e.g. [NARROWER INTERPRETATION] — reply and I'll re-triage.

Thanks,
[YOUR NAME]

4. Presenting the four options

Subject: Options for [REQUEST] on [PROJECT]

Hi [NAME],

Here's a clear choice for [REQUEST SHORT SUMMARY]:

  1. Trade scope — Add [REQUEST]; remove/reduce [ITEM]; keep deadline [DATE] and fee.
  2. Move the date — Add [REQUEST] and keep full scope; new deadline [NEW DATE]; same fee.
  3. Add a fee — Add [REQUEST]; keep deadline [DATE] and full scope; change order $[FEE] ([when due]).
  4. Defer — Keep the current plan; park [REQUEST] for [Phase 2 / after launch].

My recommendation is Option [N] because [ONE SENTENCE].

Reply with 1, 2, 3, or 4 (or tweak) and I'll update the plan and log. I won't start the extra work until you choose.

Thanks,
[YOUR NAME]

5. Pausing work (blocked on input / decision)

Subject: [PROJECT] paused on [ITEM] — need [INPUT / DECISION]

Hi [NAME],

I'm pausing [DELIVERABLE / TASK] because [missing asset / access / approver decision].

What I need: [SPECIFIC ASK]
Needed by: [DATE] to hold [MILESTONE DATE]

Once that arrives, I'll confirm the revised sequence. Related dates may shift day-for-day if this slips past [DATE].

Thanks,
[YOUR NAME]

6. "It's just one quick change"

Subject: Re: quick change on [PROJECT]

Hi [NAME],

Happy to help with [REQUEST]. Even small adds can affect [revision count / QA / other deliverables], so I run them through the same triage as larger ones.

I'll confirm within [24 hours / today] whether it's covered in the current round or needs a small trade-off (scope, date, fee, or defer).

Appreciate you flagging it early — that's the easy version of scope control.

Best,
[YOUR NAME]

7. Revision-round limit reached

Subject: [DELIVERABLE] — revision rounds used; next steps

Hi [NAME],

We've completed the [N] revision rounds included for [DELIVERABLE]. Further changes are welcome — they just move into the change-order path so the rest of [PROJECT] stays on track.

If you have another consolidated pass, I can send the four options (trade scope / move date / add fee / defer) for that pass.

Also happy to lock what's done and ship as-is if you're ready.

Thanks,
[YOUR NAME]

8. Deadline must hold — trading scope

Subject: Keeping [DATE] — proposed scope trade for [REQUEST]

Hi [NAME],

Understood that [DATE] can't move. To add [REQUEST] without slipping the date or fee, I recommend Option 1 — trade scope:

  • Add: [REQUEST]
  • Remove or reduce: [SPECIFIC ITEM]
  • Deadline / fee: unchanged

If you'd rather keep [ITEM], we can look at a fee (Option 3) or a later phase (Option 4) instead.

Which do you prefer?

Thanks,
[YOUR NAME]

9. Fee objection / pushback

Subject: Re: change-order fee for [REQUEST]

Hi [NAME],

Totally fair to pressure-test the fee. The $[FEE] reflects roughly [HOURS] hours for [work packages], so we can keep [DATE] and the rest of the scope intact.

If budget is tight, these alternatives still work:

  • Trade scope — add [REQUEST], drop [ITEM], same fee/date
  • Move date — add [REQUEST], new date [NEW DATE], same fee
  • Defer — ship current scope now; estimate Phase 2 separately

I'm flexible on which lever we pull — less flexible on doing unpaid expansion that quietly breaks the plan.

What works on your side?

Best,
[YOUR NAME]

10. Confirming written approval

Subject: Confirmed — [REQUEST] approved as Option [N]

Always close the loop in writing. Once they pick an option, reply with the choice, the new fee/date/scope (if any), and that work starts after this confirmation. Paste that into your revision log so the next "quick change" has a baseline.

How to install these as Gmail templates

  1. Open Gmail → Settings → Advanced → enable Templates.
  2. Compose each email once with your usual signature.
  3. More (⋮) → Templates → Save draft as template.
  4. When a client pings you, insert the matching template and fill the brackets before you reply in chat.

The pause-before-work habit matters more than perfect wording. Email 3 (flag the change) plus email 4 (four options) cover most of the damage.


If you want the full set as copy-paste Markdown (plus the proposal and late-invoice scripts), the 10 Scope-Creep Client Emails pack is $5, and the Freelancer Email Scripts Bundle is $12. Free triage scripts live on /scope-creep. Full library: opspack.vercel.app/kits.

Top comments (0)