From bea8617b610410dc467cea67ae30e3e636124900 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 6 Aug 2026 00:36:35 +0000 Subject: [PATCH] docs(automation): say plainly that HotCRM ships no email templates (#834) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "Email templates" section closed with a claim about this app that this app does not implement: Built-in templates cover lead-routing, opportunity wins, case acknowledgments, contract activations, renewal reminders. Measured on a fresh `pnpm build`: `dist/objectstack.json` has no email-template collection among its 21 top-level keys, `grep` finds no `*.email-template.*` file under `src/`, and the artifact does not contain the string `email_template` once. So an admin who went to Setup looking for a "Renewal Reminder" template to reword found nothing to edit, and the wording they were after was somewhere else entirely: the notifications behind those business events are `notify` node config inside the flows this same page tabulates (16 of the 24 shipped flows carry one), with the subject and body written inline. The page was also contradicting itself across two sections — the sentence under the flow table has said "notifications inside flows are delivered by the `notify` node" all along. The replacement echoes it instead of adding a second answer. Contract activation is called out separately because it is not a flow: it runs as an object hook (`src/objects/contract.hook.ts`) which sends no message at all (#805/#823 measured the same thing from the contracts page), while the contract mail that does go out belongs to Contract Auto-Expiration and Contract Renewal Reminder. Scoped to what this repo can prove — that HotCRM authors no templates. It makes no claim about the platform's template surface (the #800 trap): Setup → Email Templates stays the place to author one, and the section's other four bullets describe that platform capability unchanged. Three locales, one sentence each. Documentation only. Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa Co-authored-by: Claude --- .changeset/email-templates-sentence.md | 32 +++++++++++++++++++ content/docs/administration/automation.mdx | 2 +- .../administration/automation.zh-Hans.mdx | 2 +- .../administration/automation.zh-Hant.mdx | 2 +- 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 .changeset/email-templates-sentence.md diff --git a/.changeset/email-templates-sentence.md b/.changeset/email-templates-sentence.md new file mode 100644 index 000000000..1e380d36a --- /dev/null +++ b/.changeset/email-templates-sentence.md @@ -0,0 +1,32 @@ +--- +'hotcrm': patch +--- + +Stop the Automation page from claiming HotCRM ships built-in email templates, in +all three languages. The "Email templates" section closed with *"Built-in +templates cover lead-routing, opportunity wins, case acknowledgments, contract +activations, renewal reminders"* — and this app authors no email template at all. +Nothing under `src/` writes one, and the compiled artifact carries no +email-template metadata (`dist/objectstack.json` has no such collection among its +top-level keys). + +An admin who read that sentence went looking for a *Renewal Reminder* template to +reword, and the wording they were after was never there: the notifications behind +those business events are sent by the **`notify` nodes** inside the flows the same +page already tabulates, with the subject and body written inline in each flow. +The section now says so, which is also what the sentence under the flow table has +been saying all along — the page was contradicting itself across two sections. + +Contract activation is called out separately because it is not a flow at all: it +runs as an object hook (`src/objects/contract.hook.ts`) that sends no message +whatsoever (#805/#823), and the contract mail that does go out belongs to the +**Contract Auto-Expiration** and **Contract Renewal Reminder** flows. + +The correction is scoped to what this repo can prove — that HotCRM ships no +templates of its own. It makes no claim about the platform's template surface: +**Setup → Email Templates** stays the place to author one when a templated +outbound email is what you need, and the rest of the section (merge fields, +conditional blocks, HTML + plain text, attachments) describes that platform +capability unchanged. + +Documentation only — no metadata, behaviour or field changes. Fixes #834. diff --git a/content/docs/administration/automation.mdx b/content/docs/administration/automation.mdx index 25a52cdad..fce8c672c 100644 --- a/content/docs/administration/automation.mdx +++ b/content/docs/administration/automation.mdx @@ -124,7 +124,7 @@ Most automation actions send email. Templates live in **Setup → Email Template - **HTML + plain text** versions. - **Attachments** — quote PDFs, contract PDFs. -Built-in templates cover lead-routing, opportunity wins, case acknowledgments, contract activations, renewal reminders. +HotCRM itself ships no email templates: nothing under `src/` authors one, and the compiled app carries no email-template metadata at all. The lead-routing, opportunity-win, case and renewal notifications this app sends come from the **`notify` nodes** in the flows listed above — each one's subject and body text is written inline in its own flow, so that is where you change the wording. Contract activation sends nothing: it runs as an object hook (`src/objects/contract.hook.ts`) with no notification step, and the contract mail that does go out comes from the **Contract Auto-Expiration** and **Contract Renewal Reminder** flows. Author a template in **Setup → Email Templates** when you need a templated outbound email of your own. ## Where to monitor automation diff --git a/content/docs/administration/automation.zh-Hans.mdx b/content/docs/administration/automation.zh-Hans.mdx index 842a1a364..f9354fe04 100644 --- a/content/docs/administration/automation.zh-Hans.mdx +++ b/content/docs/administration/automation.zh-Hans.mdx @@ -122,7 +122,7 @@ HotCRM 内置的 **商机审批** 流程串联两个 approval 节点实现分级 - **HTML + 纯文本** 版本。 - **附件** —— 报价 PDF、合同 PDF。 -内置模板涵盖潜在客户路由、商机赢单、案例确认、合同激活、续约提醒。 +HotCRM 自身不发布任何邮件模板:`src/` 下没有编写任何一条,编译产物里也不含邮件模板元数据。潜在客户路由、商机赢单、案例处理与续约提醒的通知,都由上表那些流程里的 **`notify` 节点** 发出 —— 标题与正文直接写在各自的流程里,要改措辞就去改那里。合同激活不发任何通知:它由对象钩子(`src/objects/contract.hook.ts`)执行,链路上没有通知步骤;真正发出的合同邮件来自 **合同自动到期** 与 **合同续约提醒** 两条流程。需要自己发模板化外发邮件时,再到 **设置 → 电子邮件模板** 里新建模板。 ## 在哪里监控自动化 diff --git a/content/docs/administration/automation.zh-Hant.mdx b/content/docs/administration/automation.zh-Hant.mdx index 2a7ff4beb..47519cbb7 100644 --- a/content/docs/administration/automation.zh-Hant.mdx +++ b/content/docs/administration/automation.zh-Hant.mdx @@ -122,7 +122,7 @@ HotCRM 內建的 **商機審批** 流程串聯兩個 approval 節點實作分級 - **HTML + 純文字** 版本。 - **附件** —— 報價 PDF、合約 PDF。 -內建範本涵蓋潛在客戶路由、商機贏單、案例確認、合約啟用、續約提醒。 +HotCRM 自身不發布任何郵件範本:`src/` 下沒有撰寫任何一條,編譯產物裡也不含郵件範本中繼資料。潛在客戶路由、商機贏單、案例處理與續約提醒的通知,都由上表那些流程裡的 **`notify` 節點** 發出 —— 標題與內文直接寫在各自的流程裡,要改措辭就去改那裡。合約啟用不發任何通知:它由物件鉤子(`src/objects/contract.hook.ts`)執行,鏈路上沒有通知步驟;真正發出的合約郵件來自 **合約自動到期** 與 **合約續約提醒** 兩條流程。需要自行發送範本化外寄郵件時,再到 **設定 → 電子郵件範本** 裡新建範本。 ## 在哪裡監控自動化