Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .changeset/2073-lead-routing-alert-to-assigned-owner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"hotcrm": patch
---

**A lead you create for yourself no longer sends you an "awaiting assignment" alert.** New-lead routing alerts the lead's owner, but its standard alert read *"New lead to assign: … is awaiting assignment"*, an assigner's message sent to the person the lead was already assigned to. Every lead a rep created, from the form or through the API, therefore told that same rep the lead was waiting to be assigned.

Now the standard alert reads *"New lead assigned to you"*, and it is sent only when someone else put the lead in the owner's name: the round-robin gave them a web-to-lead enquiry, an integration named them as owner, or a colleague logged the lead for them. A lead you create for yourself sends you no standard alert. Its three-day follow-up date is still set, and it is in **My Leads**.

The hot-lead alert (4 stars or better) now reads *"Hot lead — follow up within 24h"* instead of *"Hot lead — assign within 24h … needs an owner today"*. It still goes to the owner whoever created the lead, by inbox and email, because the rating may be the system's own score. Both alerts are reworded in all four languages. A lead with no owner still gets its follow-up date and no alert.
2 changes: 1 addition & 1 deletion content/docs/administration/automation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ A flow fires one of three ways, set by its start node:
| **Escalate Case** | Screen | Collect an escalation reason, then flag and re-prioritise the case |
| **Stamp Case Escalation** | Subflow | Called by **Escalate Case** to write the escalation stamps with system privilege |
| **Close Case** | Screen | Collect the resolution, then close the case and stop the SLA clock |
| **New Lead Routing & SLA** | Record change (insert) | Stamp a rating-based follow-up SLA and alert the new lead's owner |
| **New Lead Routing & SLA** | Record change (insert) | Stamp a rating-based follow-up SLA and alert the lead's owner (for a standard lead, only when someone else assigned it) |
| **Contact Welcome** | Record change (insert) | Prompt the owner to welcome a newly created contact |
| **Urgent Task Alert** | Record change (insert) | Notify the owner when a task is created at *Urgent* |
| **Large Deal Approval** | Record change (update) | Tiered sign-off via approval nodes — Sales Manager ≥ $100K, Sales Director > $500K |
Expand Down
2 changes: 1 addition & 1 deletion content/docs/administration/automation.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ description: 验证规则、流程、计划作业与审批 —— 无需你动
| **升级工单** | 屏幕 | 收集升级原因,然后标记工单并调整其优先级 |
| **标记工单升级** | 子流程 | 由**升级工单**调用,以系统权限写入升级标记 |
| **关闭工单** | 屏幕 | 收集处理结论,然后关闭工单并停掉 SLA 计时 |
| **新线索路由与 SLA** | 记录变更(插入) | 按评级写入跟进 SLA,并提醒新线索的负责人 |
| **新线索路由与 SLA** | 记录变更(插入) | 按评级写入跟进 SLA,并提醒线索负责人(标准线索只在别人分配时提醒) |
| **联系人欢迎** | 记录变更(插入) | 新建联系人后,提醒负责人去做首次问候 |
| **紧急任务提醒** | 记录变更(插入) | 任务以 *Urgent* 创建时通知其负责人 |
| **大额商机审批** | 记录变更(更新) | 通过 approval 节点分级签核 —— 销售经理 ≥ $100K,销售总监 > $500K |
Expand Down
2 changes: 1 addition & 1 deletion content/docs/administration/automation.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ description: 驗證規則、流程、排程作業與審批 —— 無需你動
| **升級工單** | 螢幕 | 收集升級原因,然後標記工單並調整其優先級 |
| **標記工單升級** | 子流程 | 由**升級工單**呼叫,以系統權限寫入升級標記 |
| **關閉工單** | 螢幕 | 收集處理結論,然後關閉工單並停掉 SLA 計時 |
| **新線索路由與 SLA** | 記錄變更(插入) | 按評級寫入跟進 SLA,並提醒新線索的負責人 |
| **新線索路由與 SLA** | 記錄變更(插入) | 按評級寫入跟進 SLA,並提醒線索負責人(標準線索只在別人指派時提醒) |
| **聯絡人歡迎** | 記錄變更(插入) | 新建聯絡人後,提醒負責人去做首次問候 |
| **緊急任務提醒** | 記錄變更(插入) | 任務以 *Urgent* 建立時通知其負責人 |
| **大額商機審批** | 記錄變更(更新) | 透過 approval 節點分級簽核 —— 銷售經理 ≥ $100K,銷售總監 > $500K |
Expand Down
13 changes: 10 additions & 3 deletions content/docs/sales/leads.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,18 @@ New-lead routing reads the rating once, as the lead lands:

| Rating | Next Follow-up Date it stamps | Alert to the lead's owner |
| --- | --- | --- |
| **4 stars or better** | **Tomorrow** | *"Hot lead — assign within 24h"*, sent to both the **inbox and email**, flagged as a warning |
| **Everything else**, including a lead with no rating at all | **Three days out** | *"New lead to assign"*, **inbox only** |
| **4 stars or better** | **Tomorrow** | *"Hot lead — follow up within 24h"*, sent to both the **inbox and email**, flagged as a warning |
| **Everything else**, including a lead with no rating at all | **Three days out** | *"New lead assigned to you"*, **inbox only**, and only when someone else gave you the lead |

Four stars is the whole of the hot threshold: a 5-star lead is routed exactly like a 4-star one, and nothing separate happens at five.

Both alerts go to the lead's owner and tell them the lead is theirs to follow up. Who gets the standard one depends on who put the lead in your name:

- **Someone else did** — the round-robin gave you a web-to-lead enquiry, an integration named you, or a colleague logged the lead for you. You get *"New lead assigned to you"*.
- **You did** — you created the lead yourself, from the form or through the API. You get no standard alert: the follow-up date is on the lead, and it is in **My Leads**.

A hot lead alerts its owner either way, because the rating is the system's verdict, not necessarily yours: a lead created without a rating is scored on the spot. A lead nobody owns gets its follow-up date and no alert, because HotCRM has no lead queue to tell.

> The weights above live in the lead's automation code, not in a setup screen — see the admin tips at the end of this page.

## Duplicate leads
Expand Down Expand Up @@ -171,7 +178,7 @@ The Leads list curates no tab row, so the switcher offers every saved view there
| --- | --- |
| **All Leads** *(the landing view)* | Every lead, newest first, with the name as the link into the record plus company, email, status, score, source and owner. 25 rows a page, export to CSV or XLSX, and, for users who may enroll campaign members, **Add to Campaign** on the selection toolbar. On an empty org it says so — *No Leads Yet · Get started by creating your first lead*. |
| **My Leads** | The leads you own, highest star rating first and newest within a rating. Also reachable from **My Work › My Leads** in the sidebar. |
| **🔥 Hot Leads** | Leads still **New** or **Contacted** rated **4 stars or better** — exactly the leads new-lead routing calls hot, gives a next-day follow-up date and alerts their owner about ("assign within 24h"). Ordered by **Next Follow-up Date**, soonest first, with phone, email and owner on the row so it can be worked top to bottom. |
| **🔥 Hot Leads** | Leads still **New** or **Contacted** rated **4 stars or better** — exactly the leads new-lead routing calls hot, gives a next-day follow-up date and alerts their owner about ("follow up within 24h"). Ordered by **Next Follow-up Date**, soonest first, with phone, email and owner on the row so it can be worked top to bottom. |
| **High Priority** | The same population — **4 stars and up**, still New or Contacted — laid out to scan rather than to work through: no follow-up date, but the lead source on the row. |
| **Suspected Duplicates** | The review queue described above: leads whose **Duplicate Status** is *Suspected*, oldest suspicion first, with the duplicate-link fields on the row. Working it drains it — a lead set to *Confirmed* or cleared drops out. When there is nothing to review it says *No Suspected Duplicates · Nothing to review — every re-captured email has been checked.* |
| **Lead Pipeline** | The kanban board, one column per status, each column summing **Annual Revenue**. A card is titled by the person's name, with the company, email and star rating below it. Opening a card slides the lead in from the side rather than taking you off the board. |
Expand Down
13 changes: 10 additions & 3 deletions content/docs/sales/leads.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,18 @@ description: 在入站咨询成为真正交易之前对其进行捕获、评分

| 评级 | 盖的下次跟进日期 | 给线索负责人的提醒 |
| --- | --- | --- |
| **四星及以上** | **明天** | *"Hot lead — assign within 24h"*,**站内收件箱和邮件**两个通道都发,标为警告级 |
| **其余全部**,包括完全没有评级的线索 | **三天后** | *"New lead to assign"*,**仅站内收件箱** |
| **四星及以上** | **明天** | *"Hot lead — follow up within 24h"*,**站内收件箱和邮件**两个通道都发,标为警告级 |
| **其余全部**,包括完全没有评级的线索 | **三天后** | *"New lead assigned to you"*,**仅站内收件箱**,且只在线索是别人交给你时才发 |

热门的门槛就只有四星这一道:五星线索的路由与四星完全相同,满五星不会另外触发任何事。

两种提醒都发给线索负责人,告诉对方这条线索归他跟进。标准提醒发不发,要看是谁把线索记到你名下:

- **别人** —— 轮询分配把一条 Web-to-Lead 咨询分给了你、某个集成写明了你,或者同事替你录入了这条线索。你会收到 *"New lead assigned to you"*。
- **你自己** —— 线索是你自己创建的,无论通过表单还是 API。你不会收到标准提醒:跟进日期已经写在线索上,它也在**我的线索**里。

热门线索无论如何都会提醒负责人,因为评级是系统的判断,不一定是你填的:创建时没有评级的线索会当场打分。没有负责人的线索只盖跟进日期、不发提醒,因为 HotCRM 没有可以通知的线索队列。

> 上面这些权重写在线索的自动化代码里,而不是某个设置界面——参见本页末尾的「给管理员的提示」。

## 重复线索
Expand Down Expand Up @@ -159,7 +166,7 @@ Copilot 会推荐下一步行动(例如,安排通话、发送跟进、取消
| --- | --- |
| **全部线索**(默认打开) | 所有线索,最新的在前;姓名是进入记录的链接,同行还有公司、邮箱、状态、评分、来源和负责人。每页 25 行,可导出 CSV / XLSX;可以加入营销活动成员的用户勾选后可批量**加入营销活动**。组织里还没有线索时它会直说——*还没有线索 · 创建第一条线索,从这里开始*。 |
| **我的线索** | 你负责的线索,评分高的在前,同评分内最新的在前。侧边栏的**我的工作 › 我的线索**进的也是它。 |
| **🔥 高热度线索** | 仍处于**新建**或**已联系**、评分**四星及以上**的线索——正是新线索路由判为热、给出次日跟进日期、并向负责人发出「24 小时内认领」告警的那一批。按**下次跟进日期**由近及远排序,行上带电话、邮箱和负责人,从上往下打就行。 |
| **🔥 高热度线索** | 仍处于**新建**或**已联系**、评分**四星及以上**的线索——正是新线索路由判为热、给出次日跟进日期、并向负责人发出「24 小时内跟进」告警的那一批。按**下次跟进日期**由近及远排序,行上带电话、邮箱和负责人,从上往下打就行。 |
| **高优先级** | 同一批线索(**四星及以上**,同样只看新建和已联系),只是摆成一张速览表而不是工作队列:不带跟进日期,行上给出线索来源。 |
| **疑似重复线索** | 上文说的复核队列:**重复状态**为*疑似重复*的线索,最早被怀疑的排在最前,重复关联字段就在行上。处理一条少一条——确认或清除之后它就掉出队列。没有待复核的时候它会写明:*没有疑似重复 · 无需复核——每个重复录入的邮箱都已检查过。* |
| **线索流水线** | 看板视图,一个状态一列,每列汇总**年营收**。卡片以姓名为标题,下面是公司、邮箱和星级评分。点开卡片是从侧边滑出的抽屉,不会把你带离看板。 |
Expand Down
13 changes: 10 additions & 3 deletions content/docs/sales/leads.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,18 @@ description: 在入站詢問成為真正交易之前對其進行擷取、評分

| 評級 | 蓋的下次跟進日期 | 給線索負責人的提醒 |
| --- | --- | --- |
| **四星及以上** | **明天** | *"Hot lead — assign within 24h"*,**站內收件匣和郵件**兩個通道都發,標為警告級 |
| **其餘全部**,包括完全沒有評級的潛在客戶 | **三天後** | *"New lead to assign"*,**僅站內收件匣** |
| **四星及以上** | **明天** | *"Hot lead — follow up within 24h"*,**站內收件匣和郵件**兩個通道都發,標為警告級 |
| **其餘全部**,包括完全沒有評級的潛在客戶 | **三天後** | *"New lead assigned to you"*,**僅站內收件匣**,且只在潛在客戶是別人交給你時才發 |

熱門的門檻就只有四星這一道:五星線索的路由與四星完全相同,滿五星不會另外觸發任何事。

兩種提醒都發給潛在客戶的負責人,告訴對方這筆潛在客戶歸他跟進。標準提醒發不發,要看是誰把潛在客戶記到你名下:

- **別人** —— 輪詢指派把一筆 Web-to-Lead 詢問分給了你、某個整合寫明了你,或者同事替你建立了這筆潛在客戶。你會收到 *"New lead assigned to you"*。
- **你自己** —— 潛在客戶是你自己建立的,無論透過表單還是 API。你不會收到標準提醒:跟進日期已經寫在潛在客戶上,它也在**我的線索**裡。

熱門潛在客戶無論如何都會提醒負責人,因為評級是系統的判斷,不一定是你填的:建立時沒有評級的潛在客戶會當場評分。沒有負責人的潛在客戶只蓋跟進日期、不發提醒,因為 HotCRM 沒有可以通知的潛在客戶佇列。

> 上面這些權重寫在潛在客戶的自動化程式碼裡,而不是某個設定介面——參見本頁末尾的「給管理員的提示」。

## 重複的潛在客戶
Expand Down Expand Up @@ -161,7 +168,7 @@ Copilot 會推薦下一步行動(例如,安排通話、發送跟進、取消
| --- | --- |
| **全部線索**(預設打開) | 所有線索,最新的在前;姓名是進入記錄的連結,同列還有公司、郵箱、狀態、評分、來源和負責人。每頁 25 列,可匯出 CSV / XLSX;可以加入行銷活動成員的使用者勾選後可批次**加入行銷活動**。組織裡還沒有線索時它會直說——*還沒有線索 · 建立第一條線索,從這裡開始*。 |
| **我的線索** | 你負責的線索,評分高的在前,同評分內最新的在前。側邊欄的 **My Work › My Leads** 進的也是它。 |
| **🔥 高熱度線索** | 仍處於**新建**或**已聯絡**、評分**四星及以上**的線索——正是新線索路由判為熱、給出次日跟進日期、並向負責人發出「24 小時內認領」告警的那一批。按**下次跟進日期**由近及遠排序,列上帶電話、郵箱和負責人,從上往下打就行。 |
| **🔥 高熱度線索** | 仍處於**新建**或**已聯絡**、評分**四星及以上**的線索——正是新線索路由判為熱、給出次日跟進日期、並向負責人發出「24 小時內跟進」告警的那一批。按**下次跟進日期**由近及遠排序,列上帶電話、郵箱和負責人,從上往下打就行。 |
| **高優先級** | 同一批線索(**四星及以上**,同樣只看新建和已聯絡),只是擺成一張速覽表而不是工作佇列:不帶跟進日期,列上給出線索來源。 |
| **疑似重複線索** | 上文說的複核佇列:**重複狀態**為*疑似重複*的線索,最早被懷疑的排在最前,重複關聯欄位就在列上。處理一條少一條——確認或清除之後它就掉出佇列。沒有待複核的時候它會寫明:*沒有疑似重複 · 無需複核——每個重複錄入的郵箱都已檢查過。* |
| **線索流水線** | 看板視圖,一個狀態一欄,每欄彙總**年營收**。卡片以姓名為標題,下面是公司、郵箱和星級評分。點開卡片是從側邊滑出的抽屜,不會把你帶離看板。 |
Expand Down
16 changes: 10 additions & 6 deletions src/sales/email-templates/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import type { EmailTemplatePack } from './_bundle';
* the same convention `src/sales/translations/` already follows for the UI
* locale packs.
*
* Every string here is the text its `notify` node already sent, with the
* Every string here began as the text its `notify` node already sent, with the
* flow's `{var.path}` interpolations re-expressed as the `{{key}}` holes the
* renderer fills from that node's `templateData`. A conversion, not a rewrite:
* no notification says anything new.
* no notification said anything new. A text changed since says why beside it.
*
* ⚠️ Registered under `en-US`, not `en` — see the ladder note on `bundle()`.
*/
Expand Down Expand Up @@ -57,15 +57,19 @@ export const en: EmailTemplatePack = {
subject: 'Lead converted: {{first_name}} {{last_name}}',
bodyHtml: '<p>Lead {{first_name}} {{last_name}} was converted into an account and contact.</p>',
},
// The two routing alerts go to the lead's OWNER (`lead_assignment`), so they
// say the lead is theirs to follow up. They used to read as an assigner's
// queue ("assign within 24h", "awaiting assignment"), sent to the person the
// lead was already assigned to (#2073 item 7).
'crm.lead_routing_hot': {
label: 'Hot Lead Routing',
subject: 'Hot lead — assign within 24h: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} from {{company}} (rating {{rating}}) needs an owner today.</p>',
subject: 'Hot lead — follow up within 24h: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} from {{company}} (rating {{rating}}) is yours. Follow up by tomorrow.</p>',
},
'crm.lead_routing_new': {
label: 'New Lead Routing',
subject: 'New lead to assign: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} from {{company}} is awaiting assignment.</p>',
subject: 'New lead assigned to you: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} from {{company}} is now yours. Follow up within 3 days.</p>',
},
'crm.opportunity_approved': {
label: 'Deal Approved',
Expand Down
8 changes: 4 additions & 4 deletions src/sales/email-templates/es-ES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,13 @@ export const esES: EmailTemplatePack = {
},
'crm.lead_routing_hot': {
label: 'Asignación de cliente potencial caliente',
subject: 'Cliente potencial caliente — asignar en 24 h: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} de {{company}} (puntuación {{rating}}) necesita propietario hoy.</p>',
subject: 'Cliente potencial caliente — haz el seguimiento en 24 h: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} de {{company}} (puntuación {{rating}}) es tuyo. Haz el seguimiento antes de que termine mañana.</p>',
},
'crm.lead_routing_new': {
label: 'Asignación de cliente potencial',
subject: 'Nuevo cliente potencial por asignar: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} de {{company}} está pendiente de asignación.</p>',
subject: 'Nuevo cliente potencial asignado a ti: {{first_name}} {{last_name}}',
bodyHtml: '<p>{{first_name}} {{last_name}} de {{company}} ahora es tuyo. Haz el seguimiento en los próximos 3 días.</p>',
},
'crm.opportunity_approved': {
label: 'Oportunidad aprobada',
Expand Down
Loading
Loading