Barmaan Software Department
The email system our sales team works in every day
We design and build the same system for your company: multiple Microsoft 365 mailboxes in one panel, automatic message tagging, a shared team queue and a live price guard against the warehouse.
The demo below runs on entirely made-up data — no real customer email or name appears in it. The price guard, though, is the real function that runs in our own panel.
Who this page is for
Four reasons to look at this system
A sales team with a busy Microsoft 365 inbox
Price enquiries get lost, no one knows who answered, wrong prices get emailed out.
Automatic message tagging, a shared queue with assignment and snooze, and a price guard against the warehouse.
CEO
Wants to know where the sales team's time is going and how the risk of a wrong quoted price is closed.
One panel for every organizational mailbox, no switching between separate accounts.
IT manager
Does this run on our existing infrastructure (Microsoft 365 / Exchange Online)? How wide is the access?
Microsoft Graph, application-only, limited to Mail.Read and Mail.Send — no ability to write, delete or move folders in a real user's mailbox; archive lives in our own database.
Someone who wants to order exactly this
Does Barmaan build this for my company too? Where do I start?
Yes — Barmaan's software department builds the same architecture with the mailbox count, languages and record categories your business needs.
The sales inbox problem
Why an ordinary inbox does not work for sales
A price enquiry gets lost
One email sits among hundreds of others until someone gets to it — or never does.
No one knows who is answering
Several people check one shared mailbox; there is no record of who owns which conversation.
A wrong price gets emailed by hand
An old number is copied from memory or a previous email that no longer matches the real warehouse price.
What we use ourselves, every day
Three things this system actually solves
Automatic message tagging
Every message is automatically tagged as an RFQ, a customer request or a commercial document, from its thread's subject tag.
Shared team queue
Every conversation has an owner; assignment and snooze instead of guessing who is next.
Live price guard
Before sending, the reply text is checked against the real warehouse price and any mismatch is flagged.
Try it
Try these three capabilities right here
The data below is entirely fictional — no real email or customer name appears in this demo. The price guard, however, is the real function from our own code; change the text and watch it live.
Message queue
A sample inbox with eight fictional messages across four record kinds.
Select a message from the list to read it.
Live price guard
Change the reply text — the same real function running in our own panel checks it against the warehouse price.
Edit the price in the text, or pick one of the presets below.
- Product
- PT-200
- Quoted price
- 42,000 USD
- Warehouse price
- 48,000 USD
- Difference
- -12.5%
- Product
- PT-200
- Quoted price
- 200
- Warehouse price
- —
- Difference
- —
Shared team queue
Five sample conversations — try assigning and snoozing; everything changes only on this page.
درخواست قیمت — فلوتر ۳ اینچ
Example Industries Ltd.
استعلام فوری — ۵۰ عدد محصول مختلف
Global Procurement Group
درخواست خدمات مشاوره — calibration
Acme Corporation
پیشفاکتور — BTC-PF-0847
Barmaan Trading
Re: پیشفاکتور BTC-PF-0847 — تأیید
Example Industries Ltd.
With evidence, not slogans
Every capability, with its real code path
Every row below either runs live in the demo above, or runs every day in our own internal panel — the real code path is next to each one.
| Capability | Real code | On this page |
|---|---|---|
Automatic message tagging (RFQ / customer request / commercial document) Derived from the thread's subject tag. | src/lib/email-threads/token.ts | Live demo |
Shared team queue with assignment and snooze Four columns: unowned, mine, assigned, snoozed. | src/lib/mail/sharedQueue.ts, admin/inbox/shared/SharedQueueCard.tsx | Live demo |
Live price guard against the warehouse Compares the number in the text with the real warehouse price before sending. | src/lib/mail/priceGuard.ts:458 (checkPriceGuard) | Live demo |
RFQ matching against the product catalogue Automatically links enquiry line items to products already in the catalogue. | src/lib/mail/rfqMatch.ts | Internal only |
Full, searchable archive Every incoming email is kept in our own database, not only in the Microsoft mailbox. | src/models/MailArchive.ts, src/lib/mail/archiveSearch.ts | Internal only |
Personal signature per employee Each employee sets their own signature in their preferred language (Persian, English, Arabic, Kurdish). | src/lib/mail/signature.ts, admin/inbox/settings/MySignatureSheet.tsx | Internal only |
Architecture
On your infrastructure, with your data
Three architecture decisions that make this system defensible to an IT manager.
Read/send-only connection to Microsoft 365
Through Microsoft Graph, application-only access limited to Mail.Read and Mail.Send — no ability to write, delete or move folders in a real user's mailbox.
Archive in our own database
Every incoming message is copied into our own MongoDB, so search and reporting stay available independently of the mail server.
Attachments in dedicated cloud storage
Attachment files are cached in cloud storage (Cloudflare R2) only once someone actually opens them — not all of them, not upfront.
Barmaan Software Department
We build the same system for your company
This is not a mockup — it is the same architecture we work in every day ourselves. Mailbox count, language and record categories are tuned to your business.
- Number of organizational mailboxes — currently 12 in our own panel
- Panel and signature language — currently Persian, English, Arabic and Kurdish
- Message record categories — definable to match your business

