## TL;DR
Macros fail at scale when agents cannot find them. A name like "billing: refund status: chat: v2" beats "refund update FINAL." Put the category first, the intent second, the channel variant third, and the version last. Then retire old versions aggressively: three live versions of the same macro is how wrong answers ship.

## The query

```text
macro naming conventions for large support teams
```

## Use this when

- The macro library passes 50 entries and keeps growing
- Agents pick the wrong macro or ask "which one do I use"
- An audit finds duplicate or contradictory macros
- New agents take weeks to learn the library

## Not for

- Writing the macro copy itself
- Help-center article taxonomy
- Teams of one to three agents (a list is fine)
- Chatbot intent naming (related but separate)

## Steps

### 1. Pick 6 to 10 categories matching your ticket taxonomy

Billing, accounts, technical, shipping, onboarding, cancellations. Categories should mirror how tickets are already tagged. If the macro categories and the ticket tags disagree, agents will never learn either.

Expected output: a category list matching ticket taxonomy.

### 2. Apply the name format everywhere

category: intent: channel: version. Example: "billing: refund status: chat: v2". The channel slot matters because chat macros are terse and email macros are complete sentences. Rename every existing macro in one pass.

Expected output: the full library renamed to the format.

### 3. Audit monthly for duplicates

Search the library for overlapping intents. Two macros named "accounts: password reset: email: v1" and "accounts: login help: email: v3" are probably the same answer. Merge them.

Expected output: a monthly dedupe report, trending toward zero.

### 4. Archive, never delete, old versions

When v3 ships, archive v2. Agents mid-conversation on an old ticket can still reference it, but search defaults to current. Deleting breaks old ticket references.

Expected output: an archive folder with retired versions.

### 5. Train search-first habits

Teach agents to search the library by category and intent keywords, not to memorize names. The convention exists so search works. Run a 15-minute training when the rename lands.

Expected output: agents finding macros by search within seconds.

## Template: the naming spec

```text
Format: category: intent: channel: version

Categories: billing, accounts, technical, shipping, onboarding, cancellations
Channels: chat, email, phone (script notes)
Version: v1, v2, v3...

Examples:
  billing: refund status: chat: v2
  billing: refund status: email: v2
  accounts: 2fa lockout: email: v1
  technical: clear cache: chat: v3

Rules:
- One current version per category+intent+channel. No exceptions.
- Channel variants share the intent name so they sort together.
- Archive old versions; never delete.
```

## Variant phrasings

### canned response naming

Same format. "Macro" and "canned response" are the same object.

### organizing a macro library

Steps 1, 2, and 5. Categories, rename, train.

### agents using the wrong macro

Steps 3 and 4. Duplicates and stale versions are the usual cause.

## Why it works

At 200 macros, no one memorizes the library. Search is the only retrieval method, and search needs predictable names. Category-first naming also teaches new agents the ticket taxonomy for free, because the macro names mirror it.

## Edge cases

- Multilingual macro sets: add a language slot at the end, e.g. "billing: refund status: email: v2: es".
- Macros spanning categories: pick the primary category and cross-reference in the description.
- Phone scripts: the channel slot holds talk-track notes, not verbatim scripts.
- Vendor macro libraries: prefix with the vendor name if you run two systems.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_ebgt7l--F6xyvs5oVxS3iw
