{"course":{"slug":"ai-for-small-business","title":"AI for a Small Business","url":"https://addaly.com/learn/ai-for-small-business","level":"beginner","track":"work"},"lesson":{"slug":"sorting-the-inbox","title":"Sorting before drafting","url":"https://addaly.com/learn/ai-for-small-business/sorting-the-inbox","position":30,"of":88,"minutes":9,"answer":"Classification is safer and often more valuable than drafting because the output is a label from your own list.","keyIdea":"Classification is safer and often more valuable than drafting because the output is a label from your own list, and an explicit UNSURE bucket plus written tie-break rules are what stop awkward messages disappearing into the wrong pile."},"body":{"format":"markdown","text":"## The cheaper half of the job\n\nEveryone reaches for drafting first. Sorting is usually worth more, because it is faster, safer and it changes how the day is organised rather than how one message is answered.\n\nForty messages arrive overnight. Six need you today. Twenty-two are answerable by anyone with the price list. Eight are suppliers. Four are nothing. Without sorting, you read all forty in the order they arrived, and the urgent one is number thirty-one.\n\n> Figure: Forty messages, overnight, before anybody reads one. Bars (messages in one overnight batch): Answerable by anyone with the price list 22; From suppliers 8; Need you personally, today 6; Nothing at all 4. Six needed the owner. Without a label on each, all forty are read in the order they arrived and the urgent one is number thirty-one. A classifier cannot invent a price, because the only thing it can produce is a label from a list you wrote.\n\nClassification is also the safest thing these tools do. The output is a label from a list you wrote. It cannot invent a price, because it cannot invent anything: the only thing it can do is choose wrongly, and a wrong label is visible the moment somebody opens the message.\n\n## Categories that earn their place\n\nWrite your own, from your own inbox. A generic list produces generic sorting. Rules of thumb:\n\n**Between four and eight.** Below four and you have not sorted anything. Above eight and the boundaries blur, accuracy falls, and nobody remembers what the categories mean.\n\n**Sort by what you do next, not by subject.** \"Needs a quote\", \"answerable from the price list\", \"needs me personally\", \"supplier\", \"complaint\", \"spam\". Categories that map to an action are useful. Categories that map to a topic are a filing system.\n\n**Always include an unsure bucket.** This is the one people leave out, and it is the one that makes the whole thing work. Forced to choose, the model will pick something for a message that fits nothing, and that message vanishes into a queue where nobody expects it. Given permission to say UNSURE, the awkward ones land in a small pile you look at yourself.\n\n## The prompt\n\n```text\nClassify the message below into exactly one of:\nQUOTE, PRICELIST, PERSONAL, SUPPLIER, COMPLAINT, SPAM, UNSURE\n\nDefinitions:\nQUOTE     - asks for a price on a custom job\nPRICELIST - answerable from our standard prices\nPERSONAL  - asks for me by name, or is about an\n            existing order that has gone wrong\nCOMPLAINT - expresses dissatisfaction, any strength\nSUPPLIER  - from a supplier or contractor\nSPAM      - marketing, cold outreach, obvious rubbish\nUNSURE    - anything that does not clearly fit\n\nReply with the label only. If two fit, choose UNSURE.\nPrefer COMPLAINT over PRICELIST when both apply.\n\nMESSAGE:\n<<< ... >>>\n```\n\nTwo details are doing real work. The **definitions** matter more than the names: \"complaint\" means different things to different people, and the model is one of them. And the **tie-break rules** decide the cases that would otherwise be arbitrary. Always route ambiguity toward the more careful treatment.\n\n## Measure it before you trust it\n\nTake fifty real messages. Label them yourself first, then run them through and compare.\n\nAbove about 90% and the sort is useful. Between 70 and 90 it is useful as a first pass with a human glance. Below 70, your categories overlap and the fix is the definitions, not the model.\n\nLook at the mistakes rather than the score. They cluster, and the cluster tells you what is wrong. If complaints keep landing in PRICELIST, your complaint definition is too narrow: people complain by asking a pointed question about price. That is a five-word edit, and it is invisible if you only look at the percentage.\n\n## What sorting unlocks\n\nOnce messages carry a label, each pile gets its own treatment:\n\n- **PRICELIST**: draft from the facts sheet, quick read, send. The volume case.\n- **QUOTE**: draft the structure, you set the numbers.\n- **COMPLAINT**: draft nothing automatically. Flag it, read it yourself.\n- **PERSONAL**: no draft at all. Straight to you.\n- **SPAM**: archived, and reviewed once a week in a batch so nothing real is lost.\n\nThat is a different business day, and the whole thing rests on a step that cannot invent a price.\n\n## The cheap version\n\nIf this sounds like a lot, note that a rules-based filter does a surprising amount of it for nothing. Messages containing your product names, an order number, or the word \"refund\" can be labelled with a mail rule, no model involved.\n\nUse the model for what rules cannot do: the message that says \"I'm not happy about this\" with no keyword in it at all. That is a meaning problem, and meaning is what the model brings.\n\n## Sorting is also how you learn what you are asked\n\nRun it over three months of past messages and count the labels. Most owners are wrong about their own distribution, usually in the same direction: they think a great deal more of the inbox needs them personally than actually does.\n\nThose counts decide where effort goes. If 55% of messages are answerable from the price list, that is the pile to work on, and the four fascinating one-off enquiries are not. It is the five-day tally again, applied to text rather than to time, and it is nearly free once the classifier exists.\n\n## Where to run it\n\nYou do not need to paste messages one at a time. Most inboxes and helpdesks can call something on each incoming message, and a spreadsheet of exported messages can be labelled in a batch.\n\nThe simplest arrangement that works for a small business: export the week's messages, label them all at once, sort by label, work through the piles. Ten minutes on a Monday, no integration, no vendor. Automate it only once the manual version has proved the categories are right, because changing categories after wiring it up is much more annoying than changing them in a spreadsheet."},"check":{"question":"A shop's classifier scores 82% on fifty test messages. Nearly all the errors are complaints being labelled PRICELIST. What is the right response?","options":[{"text":"Accept 82% as adequate for a first pass and rely on staff to catch the misrouted complaints when they read the pile.","correct":false,"tempting":"Accepts a known, concentrated failure into the highest-cost category, where a misrouted complaint is precisely the message that must not wait in a routine queue."},{"text":"Add more example messages to the prompt so the model learns the distinction from demonstrations rather than definitions.","correct":false,"tempting":"Reaches for examples when the definition itself is wrong; demonstrations will teach the same narrow notion of complaint that the definition already encodes."},{"text":"Switch to a larger model, since the distinction between a complaint and a price question requires more capable reasoning.","correct":false,"tempting":"Spends capability on a specification problem, and a stronger model applying a too-narrow definition of complaint makes the same errors more confidently."},{"text":"Widen the COMPLAINT definition to include dissatisfaction phrased as a pointed price question, and re-run the fifty.","correct":true}]},"prev":{"slug":"customer-messages","title":"Answering Customers Without Losing Your Voice","url":"https://addaly.com/learn/ai-for-small-business/customer-messages"},"next":{"slug":"a-bot-on-your-website","title":"Putting a bot on your website, with your eyes open","url":"https://addaly.com/learn/ai-for-small-business/a-bot-on-your-website"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Sorting before drafting', in AI for a Small Business. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/ai-for-small-business/sorting-the-inbox (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Sorting before drafting","courseTitle":"AI for a Small Business","module":{"index":4,"slug":"customers-and-the-front-desk","title":"Customers, from first message to resolved complaint"},"answer":null,"keyIdea":"Classification is safer and often more valuable than drafting because the output is a label from your own list, and an explicit UNSURE bucket plus written tie-break rules are what stop awkward messages disappearing into the wrong pile.","hero":{"kind":"figure","figure":{"t":"figure","label":"Figure","figure":{"type":"bars","unit":"messages in one overnight batch","title":"Forty messages, overnight, before anybody reads one","series":[{"label":"Answerable by anyone with the price list","value":22,"highlight":true},{"label":"From suppliers","value":8},{"label":"Need you personally, today","value":6},{"label":"Nothing at all","value":4}],"caption":"Six needed the owner. Without a label on each, all forty are read in the order they arrived and the urgent one is number thirty-one. A classifier cannot invent a price, because the only thing it can produce is a label from a list you wrote."},"alt":"Figure: Forty messages, overnight, before anybody reads one. Bars (messages in one overnight batch): Answerable by anyone with the price list 22; From suppliers 8; Need you personally, today 6; Nothing at all 4. Six needed the owner. Without a label on each, all forty are read in the order they arrived and the urgent one is number thirty-one. A classifier cannot invent a price, because the only thing it can produce is a label from a list you wrote."}},"blocks":[{"t":"h2","id":"the-cheaper-half-of-the-job","runs":[{"text":"The cheaper half of the job"}]},{"t":"p","runs":[{"text":"Everyone reaches for drafting first. Sorting is usually worth more, because it is faster, safer and it changes how the day is organised rather than how one message is answered."}]},{"t":"p","runs":[{"text":"Forty messages arrive overnight. Six need you today. Twenty-two are answerable by anyone with the price list. Eight are suppliers. Four are nothing. Without sorting, you read all forty in the order they arrived, and the urgent one is number thirty-one."}]},{"t":"p","runs":[{"text":"Classification is also the safest thing these tools do. The output is a label from a list you wrote. It cannot invent a price, because it cannot invent anything: the only thing it can do is choose wrongly, and a wrong label is visible the moment somebody opens the message."}]},{"t":"h2","id":"categories-that-earn-their-place","runs":[{"text":"Categories that earn their place"}]},{"t":"p","runs":[{"text":"Write your own, from your own inbox. A generic list produces generic sorting. Rules of thumb:"}]},{"t":"p","runs":[{"text":"Between four and eight.","b":true},{"text":" Below four and you have not sorted anything. Above eight and the boundaries blur, accuracy falls, and nobody remembers what the categories mean."}]},{"t":"p","runs":[{"text":"Sort by what you do next, not by subject.","b":true},{"text":" “Needs a quote”, “answerable from the price list”, “needs me personally”, “supplier”, “complaint”, “spam”. Categories that map to an action are useful. Categories that map to a topic are a filing system."}]},{"t":"p","runs":[{"text":"Always include an unsure bucket.","b":true},{"text":" This is the one people leave out, and it is the one that makes the whole thing work. Forced to choose, the model will pick something for a message that fits nothing, and that message vanishes into a queue where nobody expects it. Given permission to say UNSURE, the awkward ones land in a small pile you look at yourself."}]},{"t":"h2","id":"the-prompt","runs":[{"text":"The prompt"}]},{"t":"code","lang":"text","label":"Text","text":"Classify the message below into exactly one of:\nQUOTE, PRICELIST, PERSONAL, SUPPLIER, COMPLAINT, SPAM, UNSURE\n\nDefinitions:\nQUOTE     - asks for a price on a custom job\nPRICELIST - answerable from our standard prices\nPERSONAL  - asks for me by name, or is about an\n            existing order that has gone wrong\nCOMPLAINT - expresses dissatisfaction, any strength\nSUPPLIER  - from a supplier or contractor\nSPAM      - marketing, cold outreach, obvious rubbish\nUNSURE    - anything that does not clearly fit\n\nReply with the label only. If two fit, choose UNSURE.\nPrefer COMPLAINT over PRICELIST when both apply.\n\nMESSAGE:\n<<< ... >>>"},{"t":"p","runs":[{"text":"Two details are doing real work. The "},{"text":"definitions","b":true},{"text":" matter more than the names: “complaint” means different things to different people, and the model is one of them. And the "},{"text":"tie-break rules","b":true},{"text":" decide the cases that would otherwise be arbitrary. Always route ambiguity toward the more careful treatment."}]},{"t":"h2","id":"measure-it-before-you-trust-it","runs":[{"text":"Measure it before you trust it"}]},{"t":"p","runs":[{"text":"Take fifty real messages. Label them yourself first, then run them through and compare."}]},{"t":"p","runs":[{"text":"Above about 90% and the sort is useful. Between 70 and 90 it is useful as a first pass with a human glance. Below 70, your categories overlap and the fix is the definitions, not the model."}]},{"t":"p","runs":[{"text":"Look at the mistakes rather than the score. They cluster, and the cluster tells you what is wrong. If complaints keep landing in PRICELIST, your complaint definition is too narrow: people complain by asking a pointed question about price. That is a five-word edit, and it is invisible if you only look at the percentage."}]},{"t":"h2","id":"what-sorting-unlocks","runs":[{"text":"What sorting unlocks"}]},{"t":"p","runs":[{"text":"Once messages carry a label, each pile gets its own treatment:"}]},{"t":"ul","items":[[{"text":"PRICELIST","b":true},{"text":": draft from the facts sheet, quick read, send. The volume case."}],[{"text":"QUOTE","b":true},{"text":": draft the structure, you set the numbers."}],[{"text":"COMPLAINT","b":true},{"text":": draft nothing automatically. Flag it, read it yourself."}],[{"text":"PERSONAL","b":true},{"text":": no draft at all. Straight to you."}],[{"text":"SPAM","b":true},{"text":": archived, and reviewed once a week in a batch so nothing real is lost."}]]},{"t":"p","runs":[{"text":"That is a different business day, and the whole thing rests on a step that cannot invent a price."}]},{"t":"h2","id":"the-cheap-version","runs":[{"text":"The cheap version"}]},{"t":"p","runs":[{"text":"If this sounds like a lot, note that a rules-based filter does a surprising amount of it for nothing. Messages containing your product names, an order number, or the word “refund” can be labelled with a mail rule, no model involved."}]},{"t":"p","runs":[{"text":"Use the model for what rules cannot do: the message that says “I’m not happy about this” with no keyword in it at all. That is a meaning problem, and meaning is what the model brings."}]},{"t":"h2","id":"sorting-is-also-how-you-learn-what-you-are-asked","runs":[{"text":"Sorting is also how you learn what you are asked"}]},{"t":"p","runs":[{"text":"Run it over three months of past messages and count the labels. Most owners are wrong about their own distribution, usually in the same direction: they think a great deal more of the inbox needs them personally than actually does."}]},{"t":"p","runs":[{"text":"Those counts decide where effort goes. If 55% of messages are answerable from the price list, that is the pile to work on, and the four fascinating one-off enquiries are not. It is the five-day tally again, applied to text rather than to time, and it is nearly free once the classifier exists."}]},{"t":"h2","id":"where-to-run-it","runs":[{"text":"Where to run it"}]},{"t":"p","runs":[{"text":"You do not need to paste messages one at a time. Most inboxes and helpdesks can call something on each incoming message, and a spreadsheet of exported messages can be labelled in a batch."}]},{"t":"p","runs":[{"text":"The simplest arrangement that works for a small business: export the week’s messages, label them all at once, sort by label, work through the piles. Ten minutes on a Monday, no integration, no vendor. Automate it only once the manual version has proved the categories are right, because changing categories after wiring it up is much more annoying than changing them in a spreadsheet."}]}],"check":{"question":[{"text":"A shop’s classifier scores 82% on fifty test messages. Nearly all the errors are complaints being labelled PRICELIST. What is the right response?"}],"options":[{"text":[{"text":"Accept 82% as adequate for a first pass and rely on staff to catch the misrouted complaints when they read the pile."}],"correct":false,"tempting":[{"text":"Accepts a known, concentrated failure into the highest-cost category, where a misrouted complaint is precisely the message that must not wait in a routine queue."}]},{"text":[{"text":"Add more example messages to the prompt so the model learns the distinction from demonstrations rather than definitions."}],"correct":false,"tempting":[{"text":"Reaches for examples when the definition itself is wrong; demonstrations will teach the same narrow notion of complaint that the definition already encodes."}]},{"text":[{"text":"Switch to a larger model, since the distinction between a complaint and a price question requires more capable reasoning."}],"correct":false,"tempting":[{"text":"Spends capability on a specification problem, and a stronger model applying a too-narrow definition of complaint makes the same errors more confidently."}]},{"text":[{"text":"Widen the COMPLAINT definition to include dissatisfaction phrased as a pointed price question, and re-run the fifty."}],"correct":true,"tempting":null}],"order":[1,3,2,0],"why":null},"prev":{"slug":"customer-messages","title":"Answering Customers Without Losing Your Voice","minutes":8},"next":{"slug":"a-bot-on-your-website","title":"Putting a bot on your website, with your eyes open","minutes":10}}}