Automatic behaviour
What happens without anybody acting — including the important negatives.
What happens without anybody acting. This is the material operations teams are most often unaware of, so it is stated in full.
Triggered by mail arriving
Mail sync is Graph delta on each enrolled mailbox. One mail process holds the cursor; it is not a button on a board.
| What happens | When | What the business notices |
|---|---|---|
| A conversation is created or joined | Every new message | The inbox grows; a thread’s message list grows |
| The message is typed | Every new message that is not a copy (R2a) | Enquiry, revision request, quotation, purchase order, sales order, follow-up, or other. A hand-corrected type is left alone |
| A forwarded conversation is typed by its newest step | A forward whose colleague added nothing of their own (a greeting, “PFA”, “FYI” or a signature at most) and which carries two or more emails | It takes the type of the newest email inside it that moves the deal on: an enquiry, a revision request, a quotation, a purchase order or a sales order, each read on its own words, sender and subject. Emails inside it that only follow up, or say nothing, are passed over. When none moves the deal on, the forward is typed as one email |
| A forwarded conversation is unfolded into its emails | The same forwards, from their first processing on, and an older one when it is processed again | Each email inside it becomes an email of its own in the conversation, listed under the forward and marked “in forward”, and is processed oldest first as if it had arrived by itself: typed, linked to its enquiry and read as a revision request or a purchase order. All of them belong to one deal. A forward typed as an enquiry is read as one, with all of its text and every file, and opens or finds the deal’s enquiry, which the emails inside then join without gathering its requirements again. Otherwise an email inside joins the enquiry the others are on, and when none is on one, the oldest client enquiry inside opens it. One that FlowOS already holds, from the same sender under the same subject within three minutes, including one read out of an earlier forward of the same thread, is shown, not stored or read twice. Each of the forward’s files goes to the one email inside whose text names the quote, purchase order, customer reference or sales order number in the file’s name. Only a purchase order or revision request inside, of a type FlowOS is sure of, goes to Needs Review when its reading fails, and any email inside that fails to be processed three times; nothing else inside does |
| An enquiry’s product categories are named, what it asks of the offer and when it is due are noted, and who the client is and who forwarded it are recorded | Every new enquiry that is not a copy (R2a) | Shown on the enquiry in the inbox; where the client is decides the office it is routed to (next row) |
| An enquiry is routed to an office | Every new enquiry, once it is read | One that arrives in a person’s own mailbox stays with that person. Any other goes to the Office Head, of an office whose zone covers the client’s State, who was assigned the least mail in the last 30 days. The State is read from the client’s PIN, then the State they wrote, then their GSTIN; an enquiry no zone covers stays unassigned (Inbox) |
| An enquiry email joins the client’s enquiry for the same requirement | An enquiry email, on any conversation, from the same address under the same subject as an email on that enquiry received within 60 days of it, when the subject carries a reference or project number; or, with no time limit, naming the customer reference that enquiry carries, from the address or company mail domain of an email on it | No second card for the same request. Never joined on the client alone; when two enquiries match, a new one is opened (Inbox) |
| The message is judged for technical impact | Every new message that is not a copy (R2a) | A “please send a drawing” reply does not re-process; a revised pressure does |
| Job references are pulled out | Every new message | Related conversations attach to the same enquiry |
| Later mail is linked to its quotation | Every typed message that is not a copy (R2a), once it is typed: any mail that is not an enquiry, and an enquiry that answers a quotation. The first of these matches (R97): the quote number the customer cites in their own words, a reply to a message FlowOS sent a quotation on, a quote number only in the subject or quoted text, a reply to an email already linked to an enquiry, the same conversation, an ERP (Q/T) quote number other mail on one enquiry carries, the customer’s reference, or, for a revision request or purchase order, the same client and the lines of one sent quotation. A quote number without a revision means the quotation’s newest version issued or sent before the mail. A link someone made by hand is never changed |
The mail joins that enquiry’s card and follows its office and owner, unless it was reassigned by hand or the enquiry has no office; the quotation version it answers is recorded. An enquiry email that answers a quotation is typed as a revision request and is not read as an enquiry. A link with no FlowOS version is marked as quoted outside FlowOS when the email or its conversation carries an earlier Q or T quote number, the email carries Flowtech’s own quotation with no FQ- number, or another email on the conversation is already so marked. Attachments of mail Flowtech sends are not read, so a quotation sent from a salesperson’s own mail is seen only when the client attaches it again. A quotation past its validity, or a cited revision never sent, is flagged. Several matches, or a revision request or purchase order that matches none, wait in Needs Review as ambiguous_quotation, ambiguous_enquiry or quotation_not_found; an enquiry email with several matches is read as an enquiry instead. Mail Flowtech sends to someone outside is linked only when it matches, keeps its office, and is never sent to Needs Review. A person can link mail waiting there, or move a link, from the email’s mail summary (R105); a client’s revision request, purchase order, follow-up, later enquiry or other email is then read again within five minutes |
| The original sender is recovered | Every new message | The customer, not the colleague who forwarded. A colleague’s reply, sent only to colleagues, that says nothing of its own beyond a greeting, “PFA” or a signature, over the customer’s email is read as the customer’s email it quotes |
| An unlinked email’s earlier mail is fetched | A revision request, purchase order or follow-up that links to nothing names earlier emails FlowOS does not hold, where fetching earlier mail is turned on | FlowOS looks for up to 50 of them in every folder of the mailboxes the email arrived in, and reads what it finds oldest first: an enquiry email among it, else the oldest client email that is not a copy (R2a), starts the enquiry, and our own quotation email joins it. It then links again the email and any waiting email that names the same mail. Earlier mail is never sent to Needs Review, read for what it asks to change, or counted as unread or as an office’s load. The email’s mail summary says how many it found (Linking mail after a quotation) |
| A copy of a client email already held is not read again | The same client email arriving again within 30 days, at the same office, and adding nothing, forwarded to a second person or sent twice: the same files with the same words or none, or, with no files on either, the same words. A note that is only a greeting or filler, the client’s or a forwarding colleague’s, such as “PFA”, “FYI” or “kindly quote”, counts as none | It links to the one kept, the earlier email unless the later one was typed before the earlier one arrived, joins that email’s enquiry with its office and owner unless it was reassigned by hand, and is not typed or read. It still shows in its conversation, as ready, marked as a copy of that email. A re-send with new files, or with any other words, even “revised qty 10” or a colleague’s “client now wants 20”, is read in full, as is one arriving more than 30 days later or sent separately to another office. A colleague’s reply to colleagues, with nothing of its own and no files, over a client’s email forwarded inside Flowtech is a copy when the client’s words match an email already held from that client under the same subject, whatever files that email had |
| Customer resolved | Origin email against party contacts | A match in the Party Master names the customer; otherwise the company or contact read from the signature is shown, and no party is created |
| Attachments are saved and queued | Messages with files | Documents appear, marked as waiting |
| Files inside a forwarded mail are lifted out | A forward | The customer’s datasheets, not just the covering note |
Triggered by processing
| What happens | When |
|---|---|
| Documents are read before the email is typed | Any run, if any are waiting |
| An enquiry’s attached pictures go to the picture reader | After the email is typed as an enquiry, while model calls are on |
| An enquiry’s requirements are gathered | Once its first email is read and a catalogue category is confirmed, while requirement gathering is switched on and covers the email’s mailboxes. Mail read while it was paused is gathered once it resumes. An enquiry that has requirements keeps them when a later email arrives |
| Line items are saved before parameters are extracted | Every run — progress survives a reload |
| Fluid properties are filled in | Every line item |
| Chemical formulas are named | A line’s fluid wording holding a formula the library cannot match, while requirements are gathered; each wording once, remembered after |
| Steam properties are derived from pressure | A steam duty |
| Ambient conditions are assumed | Only for the temperature or pressure the enquiry states no figure for, and never for steam or a stated gas (R17) |
| Values that cannot be what they claim to be are withheld | A length in a pressure or temperature slot |
| Dropped sizes are flagged | A bore in the source that no line captured |
| Products are suggested | Every line item |
| A line is confirmed with no person | When someone with inbox approval opens the enquiry’s lines, and its fluid is settled, its product fits with a size and nothing is missing (R71, R75). No line is confirmed as it is gathered |
| A half-specified duty is completed from published tables | Bore or flow stated but not both |
Triggered by opening a quotation
A draft quotation is rebuilt from the enquiry on every view. Only its header, terms, charges and each line’s quantity, rate, discount and exclusion are stored, so a corrected product record, a fixed rule or an option chosen on another quotation of the enquiry reaches every existing draft. An issued version is frozen and never rebuilt. Staleness is recalculated if the enquiry was re-read since (R45).
Triggered by a client’s email on an enquiry
Once a client’s email is typed and linked to its enquiry, mail from the client, other than the email that started the enquiry, is queued for the change reader. It waits for a sweep that runs every few minutes, not for the moment the email is processed.
| What happens | When | What the business notices |
|---|---|---|
| The email is read for what it asks to change | An email from the client typed as an enquiry, revision request, follow-up, purchase order or other. By keyword rules alone when the reading model cannot be reached or the mailbox is outside the one requirement gathering covers | A Changes asked for column on the email, line by line, with the client’s own sentence |
| The files the client attached are sorted | Every such email | A file the client already sent, or our own quotation sent back, is not read for changes twice; a table grading our offer becomes one change for a person; a picture attached as a file becomes one change for a person |
| Each change is given a state | Every change read | Held after a purchase order, on the revision list of the issued quotation it answers, otherwise to confirm (R117, R118) |
| An enquiry is marked Ordered | The first email carrying a sign of an order: a purchase order, a confirmation in the client’s words, a request for a proforma invoice or a note that they will raise a purchase order | Ordered on the card; later changes are held for a person |
| A client’s answer to our query fills its field | Before a quotation is issued, an answer in the client’s reply to a question sent with Raise query, when the line’s field is empty | The line shows the value as stated by the client, with the reply’s sentence as its source; a line that was confirmed goes back to review (R117) |
| A line the client adds in writing becomes a line | Before a quotation is issued, while requirement gathering covers the email’s mailboxes | A new line awaiting review, under the category its own details point to, with the enquiry’s earlier lines untouched; the draft quotations show their totals again once opened (R120) |
| A revised document is compared with the lines | A client email’s attachment marked as a revision, or an unmarked one before any quotation is issued, while requirement gathering covers the email’s mailboxes | Each difference in quantity or a stated field, and each line a replacing document no longer holds, becomes a change on that line, to confirm before a quotation is sent and on its revision list after (R128); no line is changed |
| A purchase order is read | An email typed as a purchase order, while requirement gathering covers its mailboxes | Its lines, prices, taxes and terms, compared with the quotation it accepts on the PO check. An amendment is chained behind the order it amends, and a repeat of an order already read is not checked again. An email in which no order was found, or a file that may hold one could not be read, waits in Needs Review |
Triggered by a purchase order
Lines are read with the evidence for each value, paired with the lines of the current quotation, and compared. Differences are held for review, and a person decides the order on the PO check. Nothing silently accepts a mismatch.
What does not happen by itself
- Nothing is guessed into a customer. An unknown sender is shown by the company or contact read from the signature, and no party is created.
- Nothing is merged silently. Uncertainty is routed to a person.
- A reading that returns lines without the text of any row is not saved. A PDF sent as a file is first read again from its converted text. If that is empty too, or the empty part is the email or a spreadsheet, a first reading is tried again and then waits in Needs Review with the reason; processing an email again keeps the enquiry’s current requirements and shows the failure on the debug page.
- A document that could not be read is tried again only when its email is processed again, which today means a developer reprocesses it; nothing reprocesses a finished email by itself. A picture or scan is asked once more straight away only when the picture reader failed with a temporary fault.
- Nothing closes a conversation. Closing one by hand is not built yet.
- ERP handoff is not fire-and-forget. The queue retries against the order row; the message on the wire is not the source of truth.
- A near-copy is read in full. A re-send from the same client with new files, or with new words of its own, is read like any new email, and R10 applies to it. Under the same subject within seven days, it is only marked as possibly related to the other email.
- A short note on the same files is read. A re-send of the same files is a copy (R2a) only when its note is empty or just a greeting or filler, such as “PFA” or “kindly quote”. Any other words, even “revised qty 10”, get it read like any new email, and R10 applies to it.
- Stock wording does not make a copy. A client whose every enquiry carries the same covering note is read in full whenever the files change; the same words alone make a copy (R2a) only when neither email has files.
- An enquiry sent again after 30 days is read again. A standard RFQ sheet re-sent next quarter with only “PFA” is read in full; a copy (R2a) arrives within 30 days of the first.
- Each office reads its own. When a client sends the same enquiry separately to two offices, each office’s email is read (R2a). One email addressed to both offices is held once and read once.
- A forward with a colleague’s own words is read again. A forward in which any colleague who passed it on adds words of their own, such as “client now wants 20”, is read in full even when the client’s email below it matches one already held (R2a). The reading takes the client’s request from the client’s own words; the note of the colleague who forwarded it to us is kept with it as routing, not read as the client’s request.
- An empty reply over a client’s enquiry is read as that enquiry. When a colleague replies, to colleagues only, with nothing of their own above a client’s email that was forwarded inside Flowtech, the client’s words are read. When the client’s own email is already held under the same subject, the reply is a copy of it (R2a). When it is not, the enquiry is read from the quoted text and, when the reply holds no document of its own other than a picture, even one the picture reader has read, marked as missing the client’s attachments. A reply that says nothing but is sent to the client is left as it is.
See Collecting mail and Business rules.