Skip to the content

The Inbox Sorter for your firm's client email

In the weeks before a deadline the shared inbox fills with client questions, document submissions, notices and software mail, and nobody can tell what's urgent. Save the emails as text files and list your categories, and the Inbox Sorter gives each email a category, an urgency and a one line summary, then drafts replies only for the categories you mark yes. It reads no mailbox, it sends nothing, and it works on your computer with your own AI key. One limit up front: clients put the real material in attachments, and the sorter ignores those.

We'll help you set it up. Setup and support are included.

What you'll need first

Python 3.11 or newer.

What this looks like in your business

The sorter reads the body of each email and skips attachments, but it counts them: in the sample, the summary file says Attachments ignored: 1. The quarterly payment question is rated high and gets a draft that says a person will answer and asks which tax year, because the category note says not to answer the tax question. A notice from a state revenue office about a missing form lands in Deadline notice, rated high, with no draft. Client records are private, so you choose which emails go into the folder.

What goes in and what comes out

What you put in

SAMPLE ON MADE-UP DATA categories.csv

What you put in
SAMPLE ON MADE-UP DATA. From the file categories.csv, lines 1 to 7.
category,draft,note
Document submission,yes,Thank them and say a person will confirm when everything is in. Don't give tax advice.
Client question,yes,Say a person will answer soon. Ask which tax year if it's missing. Don't answer the tax question.
Deadline notice,no,
Payment or billing,no,
Vendor or software,no,
Spam,no,FICTIONAL SAMPLE DATA. Invented firm Sample Ledger and Co.

What comes out

SAMPLE ON MADE-UP DATA sorted.csv

What comes out
SAMPLE ON MADE-UP DATA. From the file sorted.csv, lines 1 to 8. Every file the package writes starts with a DRAFT line that names the run, the provider and the exact model. It's shown here as written.
DRAFT run=20261019T210539Z-ade961 template=inbox-sorter version=1.0.4 provider=openai model=gpt-6-luna input_sha256=af2ead272011c93805b7e6ee9f9cdb74567054513242b8e8aabb7799081ebf83
file_number,sender,subject,category,urgency,summary
001,Hollis Redmond <hollis.redmond@example.com>,Do I owe a quarterly payment?,Client question,high,Hollis asks whether a quarterly tax payment is due for their candle side business.
002,Marisol Tuckett <marisol.tuckett@example.com>,My documents for the return,Document submission,low,Marisol sent her W-2 and two 1099 forms and plans to send a bank statement later this week.
003,Sample State Revenue Office <notices@example.com>,Notice of a missing form for one of your clients,Deadline notice,high,The notice says a client’s form is missing and asks for it or a reply within 30 days.
004,Bartholomew Quist <bart.quist@example.com>,Your invoice 2231,Payment or billing,normal,Bart asks whether his check payment for invoice 2231 was received.
005,Sample Ledgerware Billing <billing@example.com>,Your software plan renews soon,Vendor or software,low,"The software plan renews next month, and no action is needed to keep it."
006,Prize Desk <winner@example.com>,You've been picked for a free gift card!!!,Spam,low,The sender offers a gift card and asks for a date of birth to claim it.

The settings you change

Set the provider and check the model name in config.json. The file categories.csv goes in the input folder next to the emails, with the header category,draft,note. Write one row for each kind of mail, set draft to yes or no, and use the note for your own rules. The sample has six categories: Document submission and Client question are yes, and Deadline notice, Payment or billing, Vendor or software and Spam are no. Save each email as .txt or .eml straight in the input folder, not in a sub folder. In config.json, template_settings carries categories_file, max_body_chars at 6000, max_summary_chars at 200 and max_draft_chars at 1500. The word Other is reserved for emails that fit nowhere, and a list can hold up to 30 categories.

Before you buy

What it won't do

  • It won't connect to your email account.
  • It won't read your inbox, and it won't answer your customers from it.
  • It won't send anything.
  • It won't promise a price, a date or a refund in a draft.
  • It sorts and drafts, and that's all. The AI can put an email in the wrong category, so skim the list, and read each draft before you use any of it.
  • For this trade: it won't open attachments, so a W-2 or a bank statement sent as a file is invisible to it. It won't answer a tax question, and it won't decide what a client owes.

What you bring

  • Python 3.11 or newer.
  • Your own API key from an AI provider; the sample on this page ran on OpenAI.
  • Your own files for this pair: client emails saved as .txt or .eml files, and categories.csv.
  • The text of the emails and your category notes goes to the AI company whose key you use, and to nobody else.
  • Your API key stays in a setting on your computer. The package never saves it, and it goes only to the AI provider you choose, never to us.

Questions you might have

Clients attach the real documents. Does it open them?

No. Attachments are not read. They are ignored and counted, and the summary file tells you how many; in the sample it says Attachments ignored: 1. An email that says "see attached" is sorted from those words alone, so open the attachment yourself.

Will it answer a client's tax question?

No. The sample's quarterly payment question got a draft that says a person will answer and asks which tax year, because the Client question note says "Don't answer the tax question." You write that rule in your own category note. A draft holding a phone number, web address, email address, dollar amount or date that isn't in the email or your note is held back and listed in review.csv.

Can it read the firm's mailbox directly in busy season?

No. It won't connect to your email account. You save each email as a .txt or .eml file and put it in the input folder. One run reads up to 200 email files besides categories.csv. If you put in more, it stops before it asks the provider anything.

Which emails get a draft?

Only the categories you mark yes. In the sample, Document submission and Client question are yes, so two drafts were written for six emails. Deadline notice, Payment or billing, Vendor or software and Spam are no, so they got a category, an urgency and a summary, and no draft. review.csv was empty for this set.

Where to go next

$29, one time

  • One price covers all six templates.
  • Your AI provider bills you separately for each run.

We'll help you set it up. Setup and support are included.

$29 one timeBuy this template