diff --git a/.changeset/email-calendar-log-call-measured.md b/.changeset/email-calendar-log-call-measured.md new file mode 100644 index 000000000..9cd1196b5 --- /dev/null +++ b/.changeset/email-calendar-log-call-measured.md @@ -0,0 +1,29 @@ +--- +'hotcrm': patch +--- + +Docs: rewrite the Email & Calendar guide against what the app actually writes. + +The "Log a Call" section still described the pre-event behaviour — a lone +`sys_activity` row of kind *call*. Logging a call has written three things +since the activity model landed: a real Event record, one attendee row per +person (you as organizer, plus the contact/lead and anyone you picked), and a +timeline entry that points at the event. The section now says so and hands off +to **Meetings & Calls** for the full model instead of repeating it. + +Two further claims on the page were measured and corrected: + +- Activity metrics are counted on the **Sales Activity** dashboard + (Interactions Logged, Customer Minutes, Activity by Rep, Activity Mix), not + on the Sales / Service dashboards, which carry pipeline and case metrics and + no activity tiles. +- The inbox and calendar **connector** sections — connecting Gmail/Outlook, + two-way email and calendar sync, open/click tracking, scheduled send, + inbound case email, email templates — describe an integration the app does + not ship. Each is now marked *(not shipped yet)* and points at the roadmap, + and the sections that do ship (Send Email, AI drafting, call/meeting + logging, privacy) are restated from the metadata: Send Email exists on the + contact record, moves through queued → sent / failed, and delivers only if + the deployment configures an email transport; the AI skill drafts and stops. + +zh-Hans and zh-Hant pages updated with the same content. diff --git a/content/docs/guides/email-and-calendar.mdx b/content/docs/guides/email-and-calendar.mdx index a6a58e203..f2246068b 100644 --- a/content/docs/guides/email-and-calendar.mdx +++ b/content/docs/guides/email-and-calendar.mdx @@ -1,127 +1,106 @@ --- title: Email & Calendar -description: Connect Gmail or Outlook, log emails automatically, sync your calendar, and track opens & clicks. +description: What HotCRM records today — Send Email from a contact, calls and meetings as real records — and which inbox / calendar connectors are still on the roadmap. --- # Email & Calendar -HotCRM integrates with **Gmail** (Google Workspace) and **Outlook** (Microsoft 365) so that every customer email and meeting flows into the right record automatically — no copy-pasting. +HotCRM turns customer conversations into **records you can query**: an email you send from a contact, a call you log on a deal, a meeting you book for next week. What it does not do yet is reach into your mailbox — the app ships **no Gmail or Outlook connector**, so nothing arrives in HotCRM merely because it landed in your inbox. -## What you get +> **Read this before following a setup step.** Every heading below marked *(not shipped yet)* describes the inbox / calendar integration **as designed** — it is on the [roadmap](/docs/whats-new#roadmap), not a switch you can turn on today. The unmarked sections describe what the app actually writes. -- ✉️ **Two-way email sync** — emails to/from customers appear on the contact, account, and opportunity records. -- 📅 **Two-way calendar sync** — your meetings appear in HotCRM and vice versa. -- 👀 **Email tracking** — see when the recipient opened your email or clicked a link. -- 🤖 **AI-drafted replies** sent straight from your inbox. -- 📥 **Inbound case email** — `support@yourcompany.com` becomes a case automatically. +## What ships today -## Connecting your inbox +- ✉️ **Send Email** from a contact record — queues the message through the platform email service and leaves an entry on the contact's timeline. +- 📞 **Log a Call**, **Log a Meeting** and **Schedule a Meeting** on every lead, contact, account, opportunity and case — each writes a real **Event** record with attendee rows. See [Meetings & Calls](/docs/sales/meetings-and-calls). +- ✍️ **AI email drafting** — the assistant writes the copy; you review it and press **Send Email** yourself. +- 🕒 **Interaction recency** — sending an email, or holding a meeting, refreshes the customer's *Last Contacted* / *Last Activity* stamps. -1. Click your avatar → **Settings → Email & Calendar**. -2. Click **Connect Gmail** or **Connect Outlook**. -3. Authorise the integration in the OAuth pop-up. -4. Choose what to sync: - - **All email** (default) — every conversation with anyone in your CRM. - - **Tracked email only** — only emails you explicitly add a tracking pixel to. - - **Whitelist domains** — only emails to/from specific customer domains. -5. Choose what to sync to calendar: - - **Customer meetings only** — events with at least one external attendee. - - **All events** — including internal meetings (more noise). +## "Send Email" from a contact -## How email logging works +**Send Email** is registered on the **contact** record, and it is hidden on a contact with *Email Opt Out* ticked. Opportunities and cases carry the three activity actions below, not this one. -When the connector sees an email between you and a known contact (matched by email address): +1. The action asks for a **Subject** and a **Body**. The recipient is the contact's own email address; there is no template picker and no merge-field expansion. +2. On submit an email row is written with status **Queued**, sent from your user's email address and linked back to the contact under *Related Object*. +3. The contact's **Activity** timeline gains an entry — `Email: ` — that points at that email row, so the drill-through opens the message rather than a summary string. +4. The contact's **Last Contacted Date**, and the parent account's **Last Activity Date**, are stamped. An email is an interaction, even though it is not a calendar slot, so it refreshes the same recency clock a held meeting does — see [Meetings & Calls](/docs/sales/meetings-and-calls). -- The email body is stored on the **activity timeline** of the contact, account, and any open opportunity / case. -- Attachments are saved as files. -- The email shows up to **anyone** with sharing access to those records (so reps can see what their predecessor sent). +Delivery belongs to the platform's email service, which owns the states the row moves through: **Queued → Sent**, or **Failed** with the transport's error message and an attempt count. Whether the message leaves the building depends on the transport your deployment configures — with no provider configured the platform falls back to a log-only transport, which records the message and sends nothing. -You can also **manually log** an email by forwarding it to a personalised address (e.g., `you@hotcrm-log.io`) — it'll match contacts and link automatically. +> **Replies are not threaded back.** A reply the customer sends arrives in your mailbox and stops there: matching it onto the record needs the inbox connector, which is not shipped. Log the substance as a call or a meeting if the next person needs it. -## Email tracking +## AI-drafted emails -When composing from within HotCRM: +Ask the AI assistant to draft an email on any record — the **Email Drafting** skill is shared by the [sales](/docs/ai-copilot/sales-copilot) and [service](/docs/ai-copilot/service-copilot) skill sets: -- ✅ **Track opens** — get notified when the recipient opens. -- ✅ **Track clicks** — get notified when they click a tracked link. -- ✅ **Schedule send** — pick a time. -- ✅ **Reminder** — bump back into your inbox if they don't reply in N days. +1. It grounds itself in the live record first, then writes the subject and body, and offers two subject-line variants with a recommendation. +2. It **stops there.** The skill carries no send tool, and it says so plainly rather than implying a send is queued. +3. You take the copy into **Send Email** on the contact, review it, and send — through the platform email service described above, not through your own mailbox. -Tracking events are stored on the email activity, the contact, and the originating campaign (if any). +That review step is deliberate rather than a gap: outbound email is exactly the thing worth having a human read first. -## AI-drafted emails +## "Log a Call" from any record -On any record, ask the assistant to draft an email — the Email Drafting skill is shared by the [sales](/docs/ai-copilot/sales-copilot) and [service](/docs/ai-copilot/service-copilot) skill sets: +The **Log a Call** action records an outbound or inbound call without leaving the record. It does not write a lone timeline string: one submit writes **three** things. -1. Pick a goal (*"discovery follow-up"*, *"renewal pitch"*, *"resolution"*). -2. Review the draft — edit, replace, regenerate. -3. Click **Send** — the email goes through your connected inbox, *not* a HotCRM relay, so it preserves your sender reputation. -4. The conversation is logged automatically. +1. **The event** — a real Event record with your subject, type *Call*, status **Held**, starting now, plus duration, notes, owner, and a link back to the record you fired the action from. +2. **The attendees** — one row per person: you as the **organizer** with your response already *Accepted*, the contact or lead you fired the action from, and anyone you picked under *Contact Attendees* / *Internal Attendees*. +3. **A timeline entry** on the record's **Activity** tab, pointing at that event, so the drill-through opens the real record. -## "Send Email" from a contact or case +**Log a Meeting** and **Schedule a Meeting** are the same shape — held meeting, and booking for later. [Meetings & Calls](/docs/sales/meetings-and-calls) is the full account: what each form asks for, Planned vs Held, what attendee rows hold, and how a held call on a case stamps its First Response Date. -Anywhere you see the **Send Email** action (on a Contact, a Case, an Opportunity) the flow is: +Held calls and meetings are counted on the **Sales Activity** dashboard — *Interactions Logged*, *Customer Minutes*, *Activity by Rep*, *Activity Mix* — which is where a rep's activity metrics live. The Sales and Customer Service dashboards carry pipeline and case metrics respectively, and no activity tiles; see [Dashboards](/docs/analytics/dashboards). -1. The action opens a modal with **To / Subject / Body** pre-filled from the record (and from any email template you select). -2. On submit, the email is queued through the platform `sys_email` service. It does **not** go directly to your inbox — the queue worker handles retries, bounces and rate limiting. -3. The new email row is linked back to the source record under **Related Object**, and a corresponding entry shows up on the **Activity** tab of that record with the current delivery status (queued / sent / bounced / failed). -4. Once delivered, replies are matched back via the regular two-way sync above and threaded onto the same record. +## Email templates (not shipped yet) -> Admins can see all queued / failed emails in **Settings → System Email Queue** and re-drive a failed batch from there. +The intended surface: reusable templates saved in **Settings → Email Templates**, with merge fields (`{{Contact.FirstName}}`, `{{Opportunity.Amount}}`), HTML plus plain-text versions, per-team folders, and approval-gated templates for legal-sensitive content — plus the AI assistant personalising a chosen template from record context. -## "Log a Call" from any record +HotCRM ships none of it today. The platform carries an email-template object of its own, used for authentication mail (invitations, password resets); **Send Email** above does not read it, and this app authors no templates. + +## Connecting your inbox (not shipped yet) -The **Log a Call** action records an outbound or inbound call without leaving the record. On submit, an entry of type **completed** is written to `sys_activity` (kind = *call*), with subject, duration and outcome. It appears on the record's **Activity** tab and is counted in the rep's activity metrics on the Sales / Service dashboards. +The intended flow: **Settings → Email & Calendar → Connect Gmail / Connect Outlook**, an OAuth grant, and a choice of what to sync — all email, tracked email only, or whitelisted customer domains; customer meetings only, or every event. +None of it exists in the app: there is no Gmail or Outlook connector, no such settings page, and no OAuth flow to authorise. +## How email logging works (not shipped yet) -Save reusable email templates in **Settings → Email Templates**: +The intended behaviour: the connector sees an email between you and a known contact (matched by address), stores the body on the activity timeline of the contact, account and any open opportunity or case, saves attachments as files, and makes it visible to anyone with sharing access to those records — with a personalised forwarding address as the manual fallback. -- Merge fields (`{{Contact.FirstName}}`, `{{Opportunity.Amount}}`). -- HTML + plain-text versions. -- Per-team folders. -- Approval-gated templates for legal-sensitive content. +Today the only email on a timeline is one you sent from **Send Email** yourself. -Templates can be **personalised by the AI Copilot** — pick a template, add a goal, and the Copilot fills it in with the right context. +## Email tracking (not shipped yet) -## Calendar sync +The intended behaviour: open tracking, click tracking, schedule send, and a reply reminder that bumps the thread back at you after N days, with the tracking events stored on the email, the contact and the originating campaign. -After connecting your calendar: +Nothing in the app tracks opens or clicks, schedules a send, or raises a reminder. The one adjacent thing that *is* real: a campaign member carries **First Opened** and **First Clicked** dates — but they have no automatic writer, so a person or an import fills them, not an email pixel. See [Campaign Members](/docs/marketing/campaign-members). -- HotCRM creates a **HotCRM Events** calendar in your Google/Outlook account. -- Events created in HotCRM appear there. -- Events created in your native calendar with **CRM contacts as attendees** sync into HotCRM as events on those contacts/accounts. -- Conflicts (two events at the same time) are flagged. +## Calendar sync (not shipped yet) -## Inbound case email +The intended behaviour: a **HotCRM Events** calendar created in your Google or Outlook account, events flowing both ways, native-calendar events with CRM contacts as attendees landing on those contacts and accounts, and double-booking flagged. -Setup at **Setup → Email → Inbound Case Email**: +Today a meeting exists in HotCRM only because someone logged or scheduled it here, and it stays here. Your own events are under **My Work → My Calendar**. -1. Pick an address (e.g., `support@yourcompany.com`). -2. Forward that address to the inbound address shown. -3. Set the default queue, priority, and assignment rules. +## Inbound case email (not shipped yet) -Now every email to support@ becomes a case: +The intended behaviour: point `support@yourcompany.com` at an inbound address, set a default queue, priority and assignment rules, and every incoming email becomes a case — sender matched or created as a contact, subject and body mapped onto the case, replies threaded back to the customer over email. -- The sender is matched (or auto-created) as a contact. -- Subject → case subject; body → case description; attachments → case files. -- Replies on the case thread go back via email to the customer, preserving the thread. +The app has no inbound email path. A case's **Origin** picklist does carry *Email*, but it is a value someone selects when logging the case by hand. ## Privacy & policies -- Email body content is stored in the same DB as your CRM records and follows your sharing rules. -- You can **exclude** specific addresses or domains (HR, personal). -- BCC / hidden recipients are *not* logged. -- For GDPR — you can purge a contact's email history via the contact's *Delete Personal Data* action. +- Email you send from HotCRM is stored in the same database as your CRM records and follows the same sharing rules. +- Recipients marked **Email Opt Out** cannot be mailed from the app: **Send Email** is hidden on their record. +- Exclusion lists for specific addresses or domains, BCC handling, and a one-click purge of a contact's email history are **not shipped** — they belong with the inbox connector above. For a GDPR erasure today, delete the contact's records directly; deleting a person removes their attendee rows and keeps the meetings themselves. ## Tips for reps -- ✅ Connect your inbox on day one — it eliminates 80% of CRM data entry. -- ✅ Use **Schedule Send** for emails after hours — better response rates. -- ✅ Watch the **open + click notifications** for hot signals (a prospect clicked 3 times in 5 minutes → pick up the phone). +- ✅ Log the call **from the opportunity or the case** — the link is what surfaces it there, and the account's clock is stamped for you. +- ✅ Put the real attendees on the call. "Which contacts have never joined one?" is only answerable if you did. +- ✅ Draft with the assistant, then read it before you send — it writes the copy, you own the send. ## Tips for admins -- ✅ Push everyone in sales / service to connect their inbox — the platform's value grows with email coverage. -- ✅ Set a clear policy on what's logged (all vs domain-whitelisted) — clarify with HR/legal first. -- ✅ Use templates aggressively — consistent voice + 10× faster than hand-writing. +- ✅ Configure a real email transport before telling reps that **Send Email** delivers. With none configured, the platform logs the message and sends nothing. +- ✅ Coach on the **Held** status: the activity numbers on the Sales Activity dashboard are only as honest as that field. +- ✅ Do not build a process on inbox or calendar sync yet — set expectations from the *(not shipped yet)* sections above, and watch the [roadmap](/docs/whats-new#roadmap). diff --git a/content/docs/guides/email-and-calendar.zh-Hans.mdx b/content/docs/guides/email-and-calendar.zh-Hans.mdx index 6801836f9..db40fffb2 100644 --- a/content/docs/guides/email-and-calendar.zh-Hans.mdx +++ b/content/docs/guides/email-and-calendar.zh-Hans.mdx @@ -1,127 +1,106 @@ --- title: 邮件与日历 -description: 连接 Gmail 或 Outlook,自动记录邮件,同步你的日历,并追踪打开与点击。 +description: HotCRM 今天真正记录了什么——从联系人发送邮件、把通话与会议写成真实记录——以及哪些收件箱 / 日历连接器仍在路线图上。 --- # 邮件与日历 -HotCRM 集成了 **Gmail**(Google Workspace)和 **Outlook**(Microsoft 365),使每一封客户邮件和会议都能自动汇入正确的记录 —— 无需复制粘贴。 +HotCRM 把客户沟通变成**可查询的记录**:你从联系人发出的一封邮件、你在商机上记录的一次通话、你为下周预约的一场会议。它目前还做不到的,是伸手进你的邮箱——本应用**不含 Gmail 或 Outlook 连接器**,因此不会仅仅因为某封邮件到了你的收件箱,它就出现在 HotCRM 里。 -## 你将获得什么 +> **在照着任何设置步骤操作之前,先读这一段。** 下文所有标注 *(尚未落地)* 的小节,描述的是收件箱 / 日历集成的**设计意图**——它在[路线图](/zh-Hans/docs/whats-new)上,而不是今天可以打开的开关。未标注的小节,才是应用当前真正写入的行为。 -- ✉️ **双向邮件同步** —— 与客户之间往来的邮件会显示在联系人、客户和商机记录上。 -- 📅 **双向日历同步** —— 你的会议会显示在 HotCRM 中,反之亦然。 -- 👀 **邮件追踪** —— 查看收件人何时打开了你的邮件或点击了链接。 -- 🤖 **AI 起草的回复**,直接从你的收件箱发送。 -- 📥 **入站工单邮件** —— `support@yourcompany.com` 会自动变成一个工单。 +## 今天已落地的能力 -## 连接你的收件箱 +- ✉️ **发送邮件**(在联系人记录上)——把邮件排入平台邮件服务,并在联系人的时间线上留下一条条目。 +- 📞 **记录通话**、**记录会议** 与 **安排会议**(在每个线索、联系人、客户、商机与工单上)——每一个都会写入一条真实的**事件**记录以及参会人行。参见[会议与通话](/zh-Hans/docs/sales/meetings-and-calls)。 +- ✍️ **AI 起草邮件**——助手写文案,由你审阅后自己点击**发送邮件**。 +- 🕒 **接触时点**——发送一封邮件、或举行一场会议,都会刷新客户的*最近联系*/*最近活动*时间戳。 -1. 点击你的头像 → **设置 → 邮件与日历**。 -2. 点击 **连接 Gmail** 或 **连接 Outlook**。 -3. 在 OAuth 弹出窗口中授权该集成。 -4. 选择要同步的内容: - - **所有邮件**(默认)—— 与你 CRM 中任何人的每一次会话。 - - **仅追踪的邮件** —— 仅你明确添加追踪像素的邮件。 - - **白名单域名** —— 仅与特定客户域名往来的邮件。 -5. 选择要同步到日历的内容: - - **仅客户会议** —— 至少有一名外部与会者的事件。 - - **所有事件** —— 包括内部会议(噪音更多)。 +## 从联系人"发送邮件" -## 邮件记录的工作原理 +**发送邮件** 注册在**联系人**记录上,并且对勾选了*拒绝邮件*的联系人隐藏。商机与工单上带的是下文那三个活动操作,而不是这一个。 -当连接器发现你与某个已知联系人(按邮件地址匹配)之间的一封邮件时: +1. 该操作只要求填写**主题**与**正文**。收件人就是该联系人自己的邮件地址;没有模板选择器,也没有合并字段展开。 +2. 提交后会写入一条状态为 **已排队** 的邮件行,发件人是你的用户邮箱地址,并在*关联对象*下链接回该联系人。 +3. 联系人的**活动**时间线会新增一条条目——`Email: <主题>`——它指向那条邮件行,因此下钻打开的是邮件本身,而不是一句摘要文本。 +4. 联系人的**最近联系日期**、以及其上级客户的**最近活动日期**会被打上时间戳。邮件虽然不是一个日历时段,但它是一次互动,因此它刷新的是与"已举行的会议"同一个时点时钟——参见[会议与通话](/zh-Hans/docs/sales/meetings-and-calls)。 -- 邮件正文会存储在联系人、客户以及任何未结商机 / 工单的**活动时间线**上。 -- 附件会保存为文件。 -- 该邮件会对**任何**拥有这些记录共享访问权限的人可见(这样销售代表可以看到前任发送了什么)。 +投递本身属于平台邮件服务,它掌管这条记录会经过的状态:**已排队 → 已发送**,或者**失败**并附上传输层的错误信息与尝试次数。邮件是否真的发得出去,取决于你的部署配置了什么传输方式——若未配置任何提供方,平台会回落到只记日志的传输方式:消息被记录下来,但什么也不会发出。 -你也可以通过将邮件转发到一个个性化地址(例如 `you@hotcrm-log.io`)来**手动记录**邮件 —— 它会自动匹配联系人并建立关联。 +> **回复不会被串联回来。** 客户的回复只会到达你的邮箱并停在那里:要把它匹配回记录上,需要那个尚未落地的收件箱连接器。如果后面接手的人需要知道内容,请把它作为一次通话或会议记录下来。 -## 邮件追踪 +## AI 起草的邮件 -在 HotCRM 内部撰写邮件时: +在任何记录上请 AI 助手起草邮件——**邮件撰写**技能由[销售技能](/zh-Hans/docs/ai-copilot/sales-copilot)与[服务技能](/zh-Hans/docs/ai-copilot/service-copilot)共用: -- ✅ **追踪打开** —— 收件人打开时收到通知。 -- ✅ **追踪点击** —— 他们点击追踪链接时收到通知。 -- ✅ **定时发送** —— 选择一个时间。 -- ✅ **提醒** —— 如果对方在 N 天内未回复,将邮件重新置顶回你的收件箱。 +1. 它先用实时记录为自己打底,然后写出主题与正文,并给出两个主题行备选及推荐。 +2. 然后它**就停下了**。该技能没有发送工具,它会直说这一点,而不是暗示邮件已排队待发。 +3. 你把文案带到联系人上的**发送邮件**里,审阅后发送——走的是上文那条平台邮件服务,而不是你自己的邮箱。 -追踪事件会存储在邮件活动、联系人以及来源营销活动(如果有)上。 +这一步人工审阅是刻意的,不是缺口:对外邮件恰恰是最值得有人先读一遍的东西。 -## AI 起草的邮件 +## 从任何记录"记录通话" -在任何记录上,请助手起草邮件——邮件撰写技能由 [销售技能](/zh-Hans/docs/ai-copilot/sales-copilot) 和 [服务技能](/zh-Hans/docs/ai-copilot/service-copilot) 共用: +**记录通话** 操作可以在不离开记录的情况下记录一次外拨或来电。它写的不是一条孤零零的时间线文本:一次提交会写入**三样**东西。 -1. 选择一个目标(*"发现阶段跟进"*、*"续约推介"*、*"问题解决"*)。 -2. 审阅草稿 —— 编辑、替换、重新生成。 -3. 点击 **发送** —— 邮件通过你已连接的收件箱发送,*而非* HotCRM 中继,因此能保持你的发件人声誉。 -4. 会话会被自动记录。 +1. **事件本身**——一条真实的事件记录,含你填的主题、类型*通话*、状态**已举行**、开始时间为此刻,以及时长、备注、负责人,并链接回你触发该操作的那条记录。 +2. **参会人**——每人一行:你作为**组织者**且回复已置为*已接受*,你触发操作时所在的联系人或线索,以及你在*联系人参会者*/*内部参会者*中选中的人。 +3. **一条时间线条目**,落在该记录的**活动**选项卡上并指向那条事件,因此下钻打开的是真实记录。 -## 从联系人或工单"发送邮件" +**记录会议** 与 **安排会议** 是同一形态——分别对应已举行的会议、以及为将来预约的会议。[会议与通话](/zh-Hans/docs/sales/meetings-and-calls)是完整的说明:每个表单要填什么、已计划与已举行的区别、参会人行里有哪些字段,以及工单上第一次已举行的通话如何为它打上首次响应时间。 -任何你看到 **发送邮件** 操作的地方(在联系人、工单、商机上),其流程为: +已举行的通话与会议会被计入 **Sales Activity(销售活动)** 仪表盘——*Interactions Logged*、*Customer Minutes*、*Activity by Rep*、*Activity Mix*——销售代表的活动指标就在那里。Sales(销售)与 Customer Service(客户服务)两个仪表盘分别承载管道与工单指标,并没有活动磁贴;参见[仪表盘](/zh-Hans/docs/analytics/dashboards)。 -1. 该操作会打开一个模态框,其中 **收件人 / 主题 / 正文** 会根据记录(以及你选择的任何邮件模板)预填充。 -2. 提交后,邮件会通过平台 `sys_email` 服务排队。它**不会**直接发送到你的收件箱 —— 队列工作进程负责处理重试、退信和速率限制。 -3. 新的邮件行会在 **关联对象** 下链接回源记录,并且在该记录的 **活动** 选项卡上会显示一条对应条目,附带当前的投递状态(已排队 / 已发送 / 已退信 / 失败)。 -4. 投递成功后,回复会通过上述常规双向同步匹配回来,并串联到同一条记录上。 +## 邮件模板(尚未落地) -> 管理员可以在 **设置 → 系统邮件队列** 中查看所有已排队 / 失败的邮件,并从那里重新驱动失败的批次。 +设计意图是这样的:在**设置 → 邮件模板**中保存可复用模板,支持合并字段(`{{Contact.FirstName}}`、`{{Opportunity.Amount}}`)、HTML 与纯文本两个版本、按团队划分的文件夹、以及针对法律敏感内容的需审批模板;并由 AI 助手依据记录上下文对选中的模板做个性化填充。 -## 从任何记录"记录通话" +这些 HotCRM 今天一样都没有。平台自带一个邮件模板对象,用于认证类邮件(邀请、密码重置);上文的**发送邮件**并不读取它,而本应用也没有编写任何模板。 + +## 连接你的收件箱(尚未落地) -**记录通话** 操作可以在不离开记录的情况下记录一次外拨或来电。提交后,会向 `sys_activity` 写入一条类型为 **completed** 的条目(kind = *call*),包含主题、时长和结果。它会显示在该记录的 **活动** 选项卡上,并计入销售 / 服务仪表板上销售代表的活动指标。 +设计意图是这样的:**设置 → 邮件与日历 → 连接 Gmail / 连接 Outlook**,完成 OAuth 授权,再选择同步范围——全部邮件、仅追踪的邮件,或白名单客户域名;仅客户会议,或全部事件。 +这些在应用里都不存在:没有 Gmail 或 Outlook 连接器,没有这样一个设置页,也没有可授权的 OAuth 流程。 +## 邮件记录的工作原理(尚未落地) -在 **设置 → 邮件模板** 中保存可复用的邮件模板: +设计意图是这样的:连接器发现你与某个已知联系人(按地址匹配)之间的邮件,把正文存到联系人、客户以及任何未结商机或工单的活动时间线上,把附件保存为文件,并对拥有这些记录共享访问权的人可见;转发到个性化地址则作为手动兜底。 -- 合并字段(`{{Contact.FirstName}}`、`{{Opportunity.Amount}}`)。 -- HTML + 纯文本版本。 -- 按团队划分的文件夹。 -- 针对法律敏感内容的需审批模板。 +今天时间线上唯一的邮件,是你自己用**发送邮件**发出去的那一封。 -模板可以**由 AI Copilot 个性化** —— 选择一个模板,添加一个目标,Copilot 会用正确的上下文将其填充完整。 +## 邮件追踪(尚未落地) -## 日历同步 +设计意图是这样的:追踪打开、追踪点击、定时发送,以及在 N 天内无回复时把邮件重新推回你面前的提醒;追踪事件会存储在邮件、联系人以及来源营销活动上。 -连接你的日历后: +应用里没有任何东西在追踪打开或点击、定时发送或触发提醒。唯一相邻且真实存在的东西是:营销活动成员上带有**首次打开**与**首次点击**日期——但它们没有任何自动写入方,因此填写它们的是人或导入,而不是邮件像素。参见[营销活动成员](/zh-Hans/docs/marketing/campaign-members)。 -- HotCRM 会在你的 Google/Outlook 账户中创建一个 **HotCRM Events** 日历。 -- 在 HotCRM 中创建的事件会显示在那里。 -- 在你的原生日历中创建、并以 **CRM 联系人作为与会者** 的事件,会作为事件同步到 HotCRM 中那些联系人/客户上。 -- 冲突(同一时间的两个事件)会被标记出来。 +## 日历同步(尚未落地) -## 入站工单邮件 +设计意图是这样的:在你的 Google 或 Outlook 账户中创建一个 **HotCRM Events** 日历,事件双向流动,原生日历中以 CRM 联系人为与会者的事件会落到那些联系人与客户上,并标记出时间冲突。 -在 **设置 → 邮件 → 入站工单邮件** 中进行设置: +今天,HotCRM 里的会议只会因为有人在这里记录或预约过而存在,并且就留在这里。你自己的事件在**我的工作 → 我的日历**下。 -1. 选择一个地址(例如 `support@yourcompany.com`)。 -2. 将该地址转发到所显示的入站地址。 -3. 设置默认队列、优先级和分配规则。 +## 入站工单邮件(尚未落地) -现在每一封发往 support@ 的邮件都会变成一个工单: +设计意图是这样的:把 `support@yourcompany.com` 指向一个入站地址,设置默认队列、优先级与分配规则,此后每封来信都变成一个工单——发件人被匹配或自动创建为联系人,主题与正文映射到工单上,回复通过邮件串联回客户。 -- 发件人会被匹配(或自动创建)为一个联系人。 -- 主题 → 工单主题;正文 → 工单描述;附件 → 工单文件。 -- 工单线程上的回复会通过邮件返回给客户,并保留该线程。 +应用没有任何入站邮件通路。工单的**来源**选项列表里确实有*邮件*一项,但那是有人手工建工单时自己选的值。 ## 隐私与策略 -- 邮件正文内容与你的 CRM 记录存储在同一个数据库中,并遵循你的共享规则。 -- 你可以**排除**特定地址或域名(人力资源、个人)。 -- 密送 / 隐藏的收件人**不会**被记录。 -- 对于 GDPR —— 你可以通过联系人的 *删除个人数据* 操作清除该联系人的邮件历史。 +- 你从 HotCRM 发出的邮件,与你的 CRM 记录存储在同一个数据库中,并遵循同一套共享规则。 +- 被标记**拒绝邮件**的收件人无法从应用发信:**发送邮件** 在他们的记录上是隐藏的。 +- 按地址或域名排除、密送处理、以及一键清除某联系人的邮件历史,都**尚未落地**——它们属于上文那个收件箱连接器。今天若要执行 GDPR 删除,请直接删除该联系人的记录;删除一个人会连带删除其参会人行,而会议本身会保留。 ## 给销售代表的提示 -- ✅ 在第一天就连接你的收件箱 —— 它能消除 80% 的 CRM 数据录入工作。 -- ✅ 对下班后的邮件使用 **定时发送** —— 响应率更好。 -- ✅ 关注 **打开 + 点击通知** 以捕捉热门信号(潜在客户在 5 分钟内点击了 3 次 → 拿起电话)。 +- ✅ **从商机或工单上**记录通话——正是这条关联让它出现在那里,而客户的时点时钟会自动为你打上。 +- ✅ 把真实的参会人填进去。"哪些联系人从没参加过一次通话?"只有你填了才答得出来。 +- ✅ 让助手起草,发送前自己读一遍——文案由它写,发送由你负责。 ## 给管理员的提示 -- ✅ 推动销售 / 服务部门的每个人都连接他们的收件箱 —— 平台的价值随着邮件覆盖率而增长。 -- ✅ 就记录内容(全部 vs 域名白名单)制定明确的策略 —— 先与人力资源/法务部门确认。 -- ✅ 积极使用模板 —— 一致的语气 + 比手写快 10 倍。 +- ✅ 在告诉销售代表**发送邮件**能送达之前,先配置好真正的邮件传输方式。什么都没配时,平台只会把消息记进日志,什么也不发。 +- ✅ 把**已举行**这个状态讲清楚:Sales Activity 仪表盘上的活动数字,诚实程度不会超过这个字段。 +- ✅ 现在不要基于收件箱或日历同步来搭流程——请按上文各个 *(尚未落地)* 小节设定预期,并关注[路线图](/zh-Hans/docs/whats-new)。 diff --git a/content/docs/guides/email-and-calendar.zh-Hant.mdx b/content/docs/guides/email-and-calendar.zh-Hant.mdx index ba07aa706..60a3f6f37 100644 --- a/content/docs/guides/email-and-calendar.zh-Hant.mdx +++ b/content/docs/guides/email-and-calendar.zh-Hant.mdx @@ -1,127 +1,106 @@ --- title: 郵件與行事曆 -description: 連接 Gmail 或 Outlook,自動記錄郵件,同步你的行事曆,並追蹤開啟與點擊。 +description: HotCRM 今天真正記錄了什麼——從聯絡人傳送郵件、把通話與會議寫成真實記錄——以及哪些收件匣 / 行事曆連接器仍在路線圖上。 --- # 郵件與行事曆 -HotCRM 整合了 **Gmail**(Google Workspace)和 **Outlook**(Microsoft 365),使每一封客戶郵件和會議都能自動匯入正確的記錄 —— 無需複製貼上。 +HotCRM 把客戶溝通變成**可查詢的記錄**:你從聯絡人寄出的一封郵件、你在商機上記錄的一次通話、你為下週預約的一場會議。它目前還做不到的,是伸手進你的信箱——本應用**不含 Gmail 或 Outlook 連接器**,因此不會僅僅因為某封郵件到了你的收件匣,它就出現在 HotCRM 裡。 -## 你將獲得什麼 +> **在照著任何設定步驟操作之前,先讀這一段。** 下文所有標註 *(尚未落地)* 的小節,描述的是收件匣 / 行事曆整合的**設計意圖**——它在[路線圖](/zh-Hant/docs/whats-new)上,而不是今天可以打開的開關。未標註的小節,才是應用當前真正寫入的行為。 -- ✉️ **雙向郵件同步** —— 與客戶之間往來的郵件會顯示在聯絡人、客戶和商機記錄上。 -- 📅 **雙向行事曆同步** —— 你的會議會顯示在 HotCRM 中,反之亦然。 -- 👀 **郵件追蹤** —— 查看收件人何時開啟了你的郵件或點擊了連結。 -- 🤖 **AI 起草的回覆**,直接從你的收件匣傳送。 -- 📥 **入站工單郵件** —— `support@yourcompany.com` 會自動變成一個工單。 +## 今天已落地的能力 -## 連接你的收件匣 +- ✉️ **傳送郵件**(在聯絡人記錄上)——把郵件排入平台郵件服務,並在聯絡人的時間軸上留下一條條目。 +- 📞 **記錄通話**、**記錄會議** 與 **安排會議**(在每個潛在客戶、聯絡人、客戶、商機與工單上)——每一個都會寫入一筆真實的**活動事件**記錄以及與會人列。參見[會議與通話](/zh-Hant/docs/sales/meetings-and-calls)。 +- ✍️ **AI 起草郵件**——助理寫文案,由你審閱後自己點擊**傳送郵件**。 +- 🕒 **接觸時點**——傳送一封郵件、或舉行一場會議,都會刷新客戶的*最近聯絡*/*最近活動*時間戳記。 -1. 點擊你的頭像 → **設定 → 郵件與行事曆**。 -2. 點擊 **連接 Gmail** 或 **連接 Outlook**。 -3. 在 OAuth 彈出視窗中授權該整合。 -4. 選擇要同步的內容: - - **所有郵件**(預設)—— 與你 CRM 中任何人的每一次會話。 - - **僅追蹤的郵件** —— 僅你明確新增追蹤像素的郵件。 - - **白名單網域** —— 僅與特定客戶網域往來的郵件。 -5. 選擇要同步到行事曆的內容: - - **僅客戶會議** —— 至少有一名外部與會者的事件。 - - **所有事件** —— 包括內部會議(雜訊更多)。 +## 從聯絡人「傳送郵件」 -## 郵件記錄的運作原理 +**傳送郵件** 註冊在**聯絡人**記錄上,並且對勾選了*拒絕郵件*的聯絡人隱藏。商機與工單上帶的是下文那三個活動操作,而不是這一個。 -當連接器發現你與某個已知聯絡人(按郵件地址比對)之間的一封郵件時: +1. 該操作只要求填寫**主旨**與**內文**。收件人就是該聯絡人自己的郵件地址;沒有範本選擇器,也沒有合併欄位展開。 +2. 送出後會寫入一筆狀態為 **已排隊** 的郵件列,寄件人是你的使用者信箱地址,並在*關聯物件*下連結回該聯絡人。 +3. 聯絡人的**活動**時間軸會新增一條條目——`Email: <主旨>`——它指向那筆郵件列,因此下鑽打開的是郵件本身,而不是一句摘要文字。 +4. 聯絡人的**最近聯絡日期**、以及其上層客戶的**最近活動日期**會被打上時間戳記。郵件雖然不是一個行事曆時段,但它是一次互動,因此它刷新的是與「已舉行的會議」同一個時點時鐘——參見[會議與通話](/zh-Hant/docs/sales/meetings-and-calls)。 -- 郵件本文會儲存在聯絡人、客戶以及任何未結商機 / 工單的**活動時間軸**上。 -- 附件會儲存為檔案。 -- 該郵件會對**任何**擁有這些記錄共享存取權限的人可見(這樣業務代表可以看到前任傳送了什麼)。 +投遞本身屬於平台郵件服務,它掌管這筆記錄會經過的狀態:**已排隊 → 已寄出**,或者**失敗**並附上傳輸層的錯誤訊息與嘗試次數。郵件是否真的寄得出去,取決於你的部署設定了什麼傳輸方式——若未設定任何供應商,平台會回落到只記錄日誌的傳輸方式:訊息被記下來,但什麼也不會寄出。 -你也可以透過將郵件轉寄到一個個人化地址(例如 `you@hotcrm-log.io`)來**手動記錄**郵件 —— 它會自動比對聯絡人並建立關聯。 +> **回覆不會被串接回來。** 客戶的回覆只會到達你的信箱並停在那裡:要把它匹配回記錄上,需要那個尚未落地的收件匣連接器。如果後面接手的人需要知道內容,請把它作為一次通話或會議記錄下來。 -## 郵件追蹤 +## AI 起草的郵件 -在 HotCRM 內部撰寫郵件時: +在任何記錄上請 AI 助理起草郵件——**郵件撰寫**技能由[銷售技能](/zh-Hant/docs/ai-copilot/sales-copilot)與[服務技能](/zh-Hant/docs/ai-copilot/service-copilot)共用: -- ✅ **追蹤開啟** —— 收件人開啟時收到通知。 -- ✅ **追蹤點擊** —— 他們點擊追蹤連結時收到通知。 -- ✅ **定時傳送** —— 選擇一個時間。 -- ✅ **提醒** —— 如果對方在 N 天內未回覆,將郵件重新置頂回你的收件匣。 +1. 它先用即時記錄為自己打底,然後寫出主旨與內文,並給出兩個主旨備選及推薦。 +2. 然後它**就停下了**。該技能沒有傳送工具,它會直說這一點,而不是暗示郵件已排隊待發。 +3. 你把文案帶到聯絡人上的**傳送郵件**裡,審閱後寄出——走的是上文那條平台郵件服務,而不是你自己的信箱。 -追蹤事件會儲存在郵件活動、聯絡人以及來源行銷活動(如果有)上。 +這一步人工審閱是刻意的,不是缺口:對外郵件恰恰是最值得有人先讀一遍的東西。 -## AI 起草的郵件 +## 從任何記錄「記錄通話」 -在任何記錄上,請助手起草郵件——郵件撰寫技能由 [銷售技能](/zh-Hant/docs/ai-copilot/sales-copilot) 和 [服務技能](/zh-Hant/docs/ai-copilot/service-copilot) 共用: +**記錄通話** 操作可以在不離開記錄的情況下記錄一次外撥或來電。它寫的不是一條孤零零的時間軸文字:一次送出會寫入**三樣**東西。 -1. 選擇一個目標(*「發現階段跟進」*、*「續約推介」*、*「問題解決」*)。 -2. 審閱草稿 —— 編輯、替換、重新生成。 -3. 點擊 **傳送** —— 郵件透過你已連接的收件匣傳送,*而非* HotCRM 中繼,因此能保持你的寄件人聲譽。 -4. 會話會被自動記錄。 +1. **活動事件本身**——一筆真實的活動事件記錄,含你填的主旨、類型*通話*、狀態**已舉行**、開始時間為此刻,以及時長、備註、負責人,並連結回你觸發該操作的那筆記錄。 +2. **與會人**——每人一列:你作為**召集人**且回覆已置為*已接受*,你觸發操作時所在的聯絡人或潛在客戶,以及你在*聯絡人與會者*/*內部與會者*中選中的人。 +3. **一條時間軸條目**,落在該記錄的**活動**頁籤上並指向那筆活動事件,因此下鑽打開的是真實記錄。 -## 從聯絡人或工單「傳送郵件」 +**記錄會議** 與 **安排會議** 是同一形態——分別對應已舉行的會議、以及為將來預約的會議。[會議與通話](/zh-Hant/docs/sales/meetings-and-calls)是完整的說明:每個表單要填什麼、已計畫與已舉行的區別、與會人列裡有哪些欄位,以及工單上第一次已舉行的通話如何為它打上首次回應時間。 -任何你看到 **傳送郵件** 操作的地方(在聯絡人、工單、商機上),其流程為: +已舉行的通話與會議會被計入 **Sales Activity(銷售活動)** 儀表板——*Interactions Logged*、*Customer Minutes*、*Activity by Rep*、*Activity Mix*——業務代表的活動指標就在那裡。Sales(銷售)與 Customer Service(客戶服務)兩個儀表板分別承載管道與工單指標,並沒有活動磁貼;參見[儀表板](/zh-Hant/docs/analytics/dashboards)。 -1. 該操作會開啟一個模態框,其中 **收件人 / 主旨 / 本文** 會根據記錄(以及你選擇的任何郵件範本)預先填入。 -2. 提交後,郵件會透過平台 `sys_email` 服務排隊。它**不會**直接傳送到你的收件匣 —— 佇列工作程序負責處理重試、退信和速率限制。 -3. 新的郵件列會在 **關聯物件** 下連結回源記錄,並且在該記錄的 **活動** 索引標籤上會顯示一條對應條目,附帶當前的投遞狀態(已排隊 / 已傳送 / 已退信 / 失敗)。 -4. 投遞成功後,回覆會透過上述常規雙向同步比對回來,並串聯到同一條記錄上。 +## 郵件範本(尚未落地) -> 管理員可以在 **設定 → 系統郵件佇列** 中查看所有已排隊 / 失敗的郵件,並從那裡重新驅動失敗的批次。 +設計意圖是這樣的:在**設定 → 郵件範本**中儲存可重複使用的範本,支援合併欄位(`{{Contact.FirstName}}`、`{{Opportunity.Amount}}`)、HTML 與純文字兩個版本、按團隊劃分的資料夾、以及針對法律敏感內容的需簽核範本;並由 AI 助理依據記錄上下文對選中的範本做個人化填充。 -## 從任何記錄「記錄通話」 +這些 HotCRM 今天一樣都沒有。平台自帶一個郵件範本物件,用於認證類郵件(邀請、密碼重設);上文的**傳送郵件**並不讀取它,而本應用也沒有撰寫任何範本。 + +## 連接你的收件匣(尚未落地) -**記錄通話** 操作可以在不離開記錄的情況下記錄一次外撥或來電。提交後,會向 `sys_activity` 寫入一條類型為 **completed** 的條目(kind = *call*),包含主旨、時長和結果。它會顯示在該記錄的 **活動** 索引標籤上,並計入銷售 / 服務儀表板上業務代表的活動指標。 +設計意圖是這樣的:**設定 → 郵件與行事曆 → 連接 Gmail / 連接 Outlook**,完成 OAuth 授權,再選擇同步範圍——全部郵件、僅追蹤的郵件,或白名單客戶網域;僅客戶會議,或全部事件。 +這些在應用裡都不存在:沒有 Gmail 或 Outlook 連接器,沒有這樣一個設定頁,也沒有可授權的 OAuth 流程。 +## 郵件記錄的運作原理(尚未落地) -在 **設定 → 郵件範本** 中儲存可重複使用的郵件範本: +設計意圖是這樣的:連接器發現你與某個已知聯絡人(按地址比對)之間的郵件,把內文存到聯絡人、客戶以及任何未結商機或工單的活動時間軸上,把附件儲存為檔案,並對擁有這些記錄共享存取權的人可見;轉寄到個人化地址則作為手動備援。 -- 合併欄位(`{{Contact.FirstName}}`、`{{Opportunity.Amount}}`)。 -- HTML + 純文字版本。 -- 按團隊劃分的資料夾。 -- 針對法律敏感內容的需審核範本。 +今天時間軸上唯一的郵件,是你自己用**傳送郵件**寄出去的那一封。 -範本可以**由 AI Copilot 個人化** —— 選擇一個範本,新增一個目標,Copilot 會用正確的情境將其填充完整。 +## 郵件追蹤(尚未落地) -## 行事曆同步 +設計意圖是這樣的:追蹤開啟、追蹤點擊、定時寄送,以及在 N 天內無回覆時把郵件重新推回你面前的提醒;追蹤事件會儲存在郵件、聯絡人以及來源行銷活動上。 -連接你的行事曆後: +應用裡沒有任何東西在追蹤開啟或點擊、定時寄送或觸發提醒。唯一相鄰且真實存在的東西是:行銷活動成員上帶有**首次開啟**與**首次點擊**日期——但它們沒有任何自動寫入方,因此填寫它們的是人或匯入,而不是郵件像素。參見[行銷活動成員](/zh-Hant/docs/marketing/campaign-members)。 -- HotCRM 會在你的 Google/Outlook 帳戶中建立一個 **HotCRM Events** 行事曆。 -- 在 HotCRM 中建立的事件會顯示在那裡。 -- 在你的原生行事曆中建立、並以 **CRM 聯絡人作為與會者** 的事件,會作為事件同步到 HotCRM 中那些聯絡人/客戶上。 -- 衝突(同一時間的兩個事件)會被標記出來。 +## 行事曆同步(尚未落地) -## 入站工單郵件 +設計意圖是這樣的:在你的 Google 或 Outlook 帳戶中建立一個 **HotCRM Events** 行事曆,事件雙向流動,原生行事曆中以 CRM 聯絡人為與會者的事件會落到那些聯絡人與客戶上,並標記出時間衝突。 -在 **設定 → 郵件 → 入站工單郵件** 中進行設定: +今天,HotCRM 裡的會議只會因為有人在這裡記錄或預約過而存在,並且就留在這裡。你自己的事件在**我的工作 → 我的行事曆**下。 -1. 選擇一個地址(例如 `support@yourcompany.com`)。 -2. 將該地址轉寄到所顯示的入站地址。 -3. 設定預設佇列、優先級和指派規則。 +## 入站工單郵件(尚未落地) -現在每一封發往 support@ 的郵件都會變成一個工單: +設計意圖是這樣的:把 `support@yourcompany.com` 指向一個入站地址,設定預設佇列、優先級與指派規則,此後每封來信都變成一個工單——寄件人被比對或自動建立為聯絡人,主旨與內文對應到工單上,回覆透過郵件串接回客戶。 -- 寄件人會被比對(或自動建立)為一個聯絡人。 -- 主旨 → 工單主旨;本文 → 工單描述;附件 → 工單檔案。 -- 工單討論串上的回覆會透過郵件返回給客戶,並保留該討論串。 +應用沒有任何入站郵件通路。工單的**來源**選項清單裡確實有*郵件*一項,但那是有人手動建立工單時自己選的值。 ## 隱私與政策 -- 郵件本文內容與你的 CRM 記錄儲存在同一個資料庫中,並遵循你的共享規則。 -- 你可以**排除**特定地址或網域(人力資源、個人)。 -- 密件副本 / 隱藏的收件人**不會**被記錄。 -- 對於 GDPR —— 你可以透過聯絡人的 *刪除個人資料* 操作清除該聯絡人的郵件歷史。 +- 你從 HotCRM 寄出的郵件,與你的 CRM 記錄儲存在同一個資料庫中,並遵循同一套共享規則。 +- 被標記**拒絕郵件**的收件人無法從應用寄信:**傳送郵件** 在他們的記錄上是隱藏的。 +- 按地址或網域排除、密件副本處理、以及一鍵清除某聯絡人的郵件歷史,都**尚未落地**——它們屬於上文那個收件匣連接器。今天若要執行 GDPR 刪除,請直接刪除該聯絡人的記錄;刪除一個人會連帶刪除其與會人列,而會議本身會保留。 ## 給業務代表的提示 -- ✅ 在第一天就連接你的收件匣 —— 它能消除 80% 的 CRM 資料輸入工作。 -- ✅ 對下班後的郵件使用 **定時傳送** —— 回覆率更好。 -- ✅ 關注 **開啟 + 點擊通知** 以捕捉熱門訊號(潛在客戶在 5 分鐘內點擊了 3 次 → 拿起電話)。 +- ✅ **從商機或工單上**記錄通話——正是這條關聯讓它出現在那裡,而客戶的時點時鐘會自動為你打上。 +- ✅ 把真實的與會人填進去。「哪些聯絡人從沒參加過一次通話?」只有你填了才答得出來。 +- ✅ 讓助理起草,寄出前自己讀一遍——文案由它寫,寄送由你負責。 ## 給管理員的提示 -- ✅ 推動銷售 / 服務部門的每個人都連接他們的收件匣 —— 平台的價值隨著郵件涵蓋率而增長。 -- ✅ 就記錄內容(全部 vs 網域白名單)制定明確的政策 —— 先與人力資源/法務部門確認。 -- ✅ 積極使用範本 —— 一致的語氣 + 比手寫快 10 倍。 +- ✅ 在告訴業務代表**傳送郵件**能送達之前,先設定好真正的郵件傳輸方式。什麼都沒設定時,平台只會把訊息記進日誌,什麼也不寄。 +- ✅ 把**已舉行**這個狀態講清楚:Sales Activity 儀表板上的活動數字,誠實程度不會超過這個欄位。 +- ✅ 現在不要基於收件匣或行事曆同步來搭流程——請按上文各個 *(尚未落地)* 小節設定預期,並關注[路線圖](/zh-Hant/docs/whats-new)。