Skip to Content
BlogTwo sales templates, not twenty

Sales talk is two forms, not twenty check-ins

What a sales desk repeats is not the phrase “just checking in.”

It is structure: greeting, who you are writing to, where the last call stuck, what you want this time, signature. Twenty follow-ups that differ only by company name will rot the library by the next quarter. Nobody wants to edit the first sentence.

Keep one follow-up and one objection. Change the greeting once. Both templates change. That is a talk track, not a folder of almost-duplicates.

FillIn · /cs support
Enter / Tab next field

A FillIn window appears before expansion. ⌘/Ctrl+Enter inserts.

Build only these two tonight

Do not start with a “full sales process.” Split the follow-up and the objection you already typed this week.

  1. Install and grant accessibility. Expansion happens in whatever is focused. You do not open the main window first, and you do not sign in first. See Getting started.
  2. Make a sales group with the prefix sl-. Abbreviations look like sl-follow and sl-obj, not ok or thanks. See Groups.
  3. Put the shared greeting and signature in small snippets. Nest %s:sl-hello% and %s:sl-sign% in the bodies. The syntax lives in FillIn.
  4. Go back to mail or a browser field. Type the abbreviation and press Tab (the default trigger). Fill the popup and confirm with ⌘/Ctrl+Enter.

Follow-up keeps the bones. What changes is filled on expand:

%s:sl-hello% %filltext&name=name%, last time we talked about %filltext&name=last topic%. %fillarea&name=what changed% Next: %fillmenu&name=next&opt=book a demo&opt=send a brief&opt=talk next week% %fillcheck&name=calendar line&default=I listed a few times below.% %s:sl-sign%

Objection is still one snippet. Do not clone it into “budget,” “timing,” and “we already have a tool”:

%s:sl-hello% On “%fillmenu&name=objection&opt=budget&opt=timing&opt=existing tool%”: %fillarea&name=reply% %s:sl-sign%

Change %s:sl-hello% once. Follow-up and objection both pick up the new line. Do not leave “edit here” in the body.

Which field

What changesUse
Name, company, last topicSingle line %filltext%
Progress, objection replyMultiline %fillarea%
Next step, objection typeMenu %fillmenu% with &opt=
A calendar sentence that is only sometimes presentOptional %fillcheck%
Mutually exclusive paragraphsConditional %fillswitch%

The name is what you type in the popup. CodeExpander has no Chrome or Edge extension, and it does not scrape fields off a Salesforce or HubSpot page. Records stay in the CRM. The text field only expands a sentence you already approved. System-wide expand is System-wide vs extensions.

This is the product loop, said in product language: the focused app receives an abbreviation, you press the trigger, this machine replaces it. There is no “open the CRM helper first.”

Where it may fire

If the same follow-up must work in mail, a browser form, and chat, leave the sales group global. If it wrecks a terminal or an editor, turn on ExpandIn (Pro) for that group and keep only the mail client and the browser.

Sharing one pack of follow-ups with coworkers is organization shared groups, not dropping “final_v12” into the team channel. See Team copy.

Do not

  • Do not publish close rates, quota attainment, or average deal size. Local stats do not compute those numbers, and this site will not invent them.
  • Do not clone twenty snippets per account. The company name is FillIn, not the snippet title.
  • Do not write a tutorial that pulls fields from a CRM page. That extension does not exist here.
  • Do not use follow or price as abbreviations. They fire inside English. See Abbreviation hygiene.

A library that only stores finished talk tracks stays small enough to trust. A library that stores every account as its own letter becomes a second CRM, and you already have one of those.

Next: Support templates are a form.

Last updated