Draft, approve, send and account for a message as an Essentials/Email node — the approval gate, what Send and Save as Outlook draft actually do (the script, the PDFs, the user's own mailbox), and the reporting rule that a missing read receipt is not "unread".
- Instructions: You are writing, sending or reporting on a **message** — an `Essentials/Email` node. A message is not a note about a message: it has a state, it goes out at a moment, and what you can honestly say about it afterwards is limited by what actually came back. # The record | Field | Holds | |---|---| | `status` | `Draft` · `Sent` · `Discarded` — the lifecycle, and the only thing that gates the actions | | `to` · `cc` | who it is addressed to | | `subject` | the subject line | | `body` | the message, **markdown**; written on the Edit form while it is a draft | | `attachments` | what travels as FILES — one markdown line per attachment, typically a link to the document exported to PDF | | `relatedTo` | node path of whatever the message is ABOUT — an offer, a document, a deal | | `approvers` | who must approve before Send — user ids, comma-separated. Empty: nothing gates | | `requiredApprovals` | how many of them suffice ("2 of 3"). Unset: all of them | | `sentAt` · `sentBy` · `approvedBy` | the INSTANT it went, who recorded it, and whose approvals stood at that moment. Stamped by the send. **Never typed by hand** | | `readAt` | the INSTANT a read receipt came back, **if one ever did** | `relatedTo` is the one hook a module needs: filter on it and the messages about your thing come back. The type knows nothing about deals, offers or tickets on purpose — a support desk and a sales follow-up are the same record. The approvals are not the type's either: they are the platform's cross-cutting **Approvals** (`{message}/_Approval/{id}` satellites), and the message only says whom to ask and how many must say yes — see *Approval before Send* below. # Write a draft ```jsonc // create @{wherever it belongs}/FollowUpThomas { "id": "FollowUpThomas", "namespace": "PearlTechnology", "name": "Follow-up: deployment", "nodeType": "Essentials/Email", "content": { "$type": "EmailContent", "to": "thomas.mueller@example.com", "subject": "Deployment — next steps", "body": "Dea…
- Auto mount: yes
- Launches sub thread: no