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
34 changes: 34 additions & 0 deletions .changeset/integrations-scope-wording.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
'hotcrm': patch
---

Docs: narrow two absolute claims on the Integrations guide from "this menu does
not exist" to "nothing this app enables mounts anything under it".

`content/docs/guides/integrations.mdx` (all three locales) stated that there is
**no `Setup → Integrations` menu**. Measured against the platform packages, the
group is real: `SETUP_APP` in `@objectstack/platform-objects` declares nine
navigation groups — *Overview*, *Apps*, *People & Organization*, *Access
Control*, *Approvals*, *Configuration*, *Diagnostics*, **Integrations** and
*Advanced* — and three packages contribute entries into `group_integrations`
(`@objectstack/plugin-webhooks` → *Webhooks* + *HTTP Deliveries*,
`@objectstack/service-datasource` → *Datasources*, `@objectstack/mcp` →
*Connect an Agent*). What is true is the narrower statement the page was
reaching for: none of the ten vendor connectors it tables mounts anything
under that group.

The webhooks section made the same claim one level down — "no
`Setup → Integrations → Webhooks` screen to find one under" — while the note
directly beneath it tells the reader to add `webhooks` to `requires`. A reader
who follows that advice gets exactly the screen the page said did not exist.
It now reads as a not-enabled-here state: with `@objectstack/plugin-webhooks`
unloaded its two Setup entries do not appear, and enabling the capability makes
the plugin mount them itself.

Nothing about the connector line-up changes: `src/` still carries no connector
metadata, no platform package ships a connector for any of those ten vendors,
and every `Setup → Integrations → X` path they used to print still points at a
screen that does not exist. Only the menu-existence clause moved — *not shipped*
(the connectors), *not enabled here* (webhooks) and *exists but empty of
connectors* (the group) are now three distinct statements instead of one blanket
"does not exist". See `/docs/guides/integrations`.
6 changes: 3 additions & 3 deletions content/docs/guides/integrations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: What HotCRM actually exposes to the outside world today — the dat

# Integrations

HotCRM is designed to **fit into your stack**, not replace it. Today it does that through the platform's own edges: a data API, spreadsheet import and export, outbound email, and automation you write yourself. What it does not do yet is ship **packaged vendor connectors** — `src/` carries no connector metadata of any kind, and there is no **Setup → Integrations** menu to configure one under.
HotCRM is designed to **fit into your stack**, not replace it. Today it does that through the platform's own edges: a data API, spreadsheet import and export, outbound email, and automation you write yourself. What it does not do yet is ship **packaged vendor connectors** — `src/` carries no connector metadata of any kind, and nothing this app installs puts a connector under **Setup → Integrations**.

> **Read this before following a setup step.** Every heading below marked *(not shipped yet)* describes an 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 exposes. The roadmap's own line for this reads *"More connectors — Slack, Microsoft Teams, Google Workspace, HubSpot import"*.

Expand All @@ -20,7 +20,7 @@ HotCRM is designed to **fit into your stack**, not replace it. Today it does tha

## Built-in connectors (not shipped yet)

The line-up below is **design intent** — kept here because it is the shape the product is aimed at. None of it is in the box: no connector metadata in `src/`, no connector plugin among the platform packages, and **no `Setup → Integrations` menu**. The setup paths this table used to print were the most misleading thing on the page, because someone following one went looking for a screen that does not exist.
The line-up below is **design intent** — kept here because it is the shape the product is aimed at. None of it is in the box: no connector metadata in `src/`, and no connector plugin among the platform packages. The **Setup → Integrations** group itself does exist — it is one of the nine navigation groups the platform's Setup app declares, alongside *Overview*, *Apps*, *People & Organization*, *Access Control*, *Approvals*, *Configuration*, *Diagnostics* and *Advanced* — but **not one of the vendors below mounts anything under it**. The setup paths this table used to print were the most misleading thing on the page, because someone following one went looking for a screen that does not exist.

| Tool | Intended behaviour | Closest thing that ships today |
| --- | --- | --- |
Expand Down Expand Up @@ -79,7 +79,7 @@ Today the export that exists is manual: open a list view, export CSV or XLSX. An

This one is not vapour. The platform **does** ship an outbound webhook service: `@objectstack/plugin-webhooks` keeps one subscription per `sys_webhook` row — authored either through that object's own admin UI or declared in code with `defineStack({ webhooks })` / `defineWebhook()` — matches record events against those rows, and hands each match to the shared messaging HTTP outbox for delivery.

**HotCRM does not turn it on.** `objectstack.config.ts` declares `requires: ['automation', 'triggers', 'analytics', 'auth', 'ui', 'approvals', 'sharing']`. `webhooks` is not in that list, and it is not one of the capabilities the platform loads for every app regardless. The app authors no webhook either. So there is no webhook surface in HotCRM today, and no `Setup → Integrations → Webhooks` screen to find one under.
**HotCRM does not turn it on.** `objectstack.config.ts` declares `requires: ['automation', 'triggers', 'analytics', 'auth', 'ui', 'approvals', 'sharing']`. `webhooks` is not in that list, and it is not one of the capabilities the platform loads for every app regardless. The app authors no webhook either. So there is no webhook surface in HotCRM today: with `@objectstack/plugin-webhooks` unloaded, the two Setup entries it contributes — **Webhooks** and **HTTP Deliveries** — do not appear under `Setup → Integrations`. That is *not enabled here*, not *not built*: turn the capability on as the note below describes and the plugin mounts them itself.

> **This is a deployment decision, not a roadmap item.** Add `webhooks` to `requires`, declare your subscriptions, and delivery is the platform's job from there. The retry counts, payload-shape choices and delivery-log screen this page used to promise were never HotCRM's to define — read them from the platform's own webhook documentation for the version you run, not from here.

Expand Down
6 changes: 3 additions & 3 deletions content/docs/guides/integrations.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: HotCRM 今天真正对外暴露了什么——数据 API、列表

# 集成

HotCRM 的设计目标是**融入你的技术栈**,而非取代它。今天它靠平台自身的几条边界做到这一点:数据 API、电子表格导入与导出、对外邮件,以及你自己编写的自动化。它目前还做不到的,是提供**成套的厂商连接器**——`src/` 里没有任何连接器元数据,也不存在可用来配置连接器的 **设置 → 集成** 菜单。
HotCRM 的设计目标是**融入你的技术栈**,而非取代它。今天它靠平台自身的几条边界做到这一点:数据 API、电子表格导入与导出、对外邮件,以及你自己编写的自动化。它目前还做不到的,是提供**成套的厂商连接器**——`src/` 里没有任何连接器元数据,本应用装上的东西也没有一样会往 **设置 → 集成** 下面挂连接器。

> **在照着任何设置步骤操作之前,先读这一段。** 下文所有标注 *(尚未落地)* 的小节,描述的是相应集成的**设计意图**——它在[路线图](/zh-Hans/docs/whats-new)上,而不是今天可以打开的开关。未标注的小节,才是应用当前真正对外暴露的能力。路线图上对应的那一行写的是:*"更多连接器 —— Slack、Microsoft Teams、Google Workspace、HubSpot 导入"*。

Expand All @@ -20,7 +20,7 @@ HotCRM 的设计目标是**融入你的技术栈**,而非取代它。今天它

## 内置连接器(尚未落地)

下面这份阵容是**设计意图**——保留它,是因为它标出了产品要去的方向。这些东西一样都不在盒子里:`src/` 里没有连接器元数据,平台包里也没有对应的连接器插件,更**没有 `设置 → 集成` 菜单**。这张表原先印出的那些设置路径,是本页最具误导性的部分:照着走的人,去找的是一个并不存在的界面。
下面这份阵容是**设计意图**——保留它,是因为它标出了产品要去的方向。这些东西一样都不在盒子里:`src/` 里没有连接器元数据,平台包里也没有对应的连接器插件。**`设置 → 集成` 这个分组本身是存在的**——它是平台 Setup 应用声明的九个导航分组之一,另外八个是*概览*、*应用*、*人员与组织*、*访问控制*、*审批*、*配置*、*诊断*与*高级*——但**下面这张表里的厂商,没有一家会往它下面挂条目**。这张表原先印出的那些设置路径,是本页最具误导性的部分:照着走的人,去找的是一个并不存在的界面。

| 工具 | 设计意图中的行为 | 今天最接近的落地能力 |
| --- | --- | --- |
Expand Down Expand Up @@ -79,7 +79,7 @@ HotCRM 的设计目标是**融入你的技术栈**,而非取代它。今天它

这一项不是空话。平台**确实**提供了出站 webhook 服务:`@objectstack/plugin-webhooks` 为每条订阅保存一行 `sys_webhook`——既可以通过该对象自己的管理界面编写,也可以用 `defineStack({ webhooks })` / `defineWebhook()` 在代码里声明——它把记录事件与这些行做匹配,并把每次命中交给共享的消息 HTTP 出站队列去投递。

**HotCRM 没有启用它。** `objectstack.config.ts` 声明的是 `requires: ['automation', 'triggers', 'analytics', 'auth', 'ui', 'approvals', 'sharing']`。`webhooks` 不在这个列表里,也不属于平台对每个应用都会加载的那一批能力。本应用同样没有声明任何 webhook。因此 HotCRM 今天没有任何 webhook 界面,也没有 `设置 → 集成 → Webhooks` 这样一个页面可去。
**HotCRM 没有启用它。** `objectstack.config.ts` 声明的是 `requires: ['automation', 'triggers', 'analytics', 'auth', 'ui', 'approvals', 'sharing']`。`webhooks` 不在这个列表里,也不属于平台对每个应用都会加载的那一批能力。本应用同样没有声明任何 webhook。因此 HotCRM 今天没有任何 webhook 界面:`@objectstack/plugin-webhooks` 没有被加载,它贡献的两个 Setup 条目——**Webhooks** 与 **HTTP Deliveries**——也就不会出现在 `设置 → 集成` 下面。这是*本应用没启用*,不是*平台没做*:按下面那段提示把这项能力打开,插件自己就会把它们挂上去。

> **这是一个部署侧的决定,不是路线图项。** 把 `webhooks` 加进 `requires`,声明你的订阅,此后投递就是平台的事了。本页原先承诺的重试次数、载荷结构选项与投递日志界面,从来就不由 HotCRM 定义——请按你所运行的版本去读平台自己的 webhook 文档,而不是这里。

Expand Down
6 changes: 3 additions & 3 deletions content/docs/guides/integrations.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: HotCRM 今天真正對外暴露了什麼——資料 API、清單

# 整合

HotCRM 的設計目標是**融入你的技術堆疊**,而非取代它。今天它靠平台自身的幾條邊界做到這一點:資料 API、試算表匯入與匯出、對外郵件,以及你自己撰寫的自動化。它目前還做不到的,是提供**成套的廠商連接器**——`src/` 裡沒有任何連接器中繼資料,也不存在可用來設定連接器的 **設定 → 整合** 選單。
HotCRM 的設計目標是**融入你的技術堆疊**,而非取代它。今天它靠平台自身的幾條邊界做到這一點:資料 API、試算表匯入與匯出、對外郵件,以及你自己撰寫的自動化。它目前還做不到的,是提供**成套的廠商連接器**——`src/` 裡沒有任何連接器中繼資料,本應用裝上的東西也沒有一樣會往 **設定 → 整合** 底下掛連接器。

> **在照著任何設定步驟操作之前,先讀這一段。** 下文所有標註 *(尚未落地)* 的小節,描述的是相應整合的**設計意圖**——它在[路線圖](/zh-Hant/docs/whats-new)上,而不是今天可以打開的開關。未標註的小節,才是應用當前真正對外暴露的能力。路線圖上對應的那一行寫的是:*「更多連接器 —— Slack、Microsoft Teams、Google Workspace、HubSpot 匯入」*。

Expand All @@ -20,7 +20,7 @@ HotCRM 的設計目標是**融入你的技術堆疊**,而非取代它。今天

## 內建連接器(尚未落地)

下面這份陣容是**設計意圖**——保留它,是因為它標出了產品要去的方向。這些東西一樣都不在盒子裡:`src/` 裡沒有連接器中繼資料,平台套件裡也沒有對應的連接器外掛,更**沒有 `設定 → 整合` 選單**。這張表原先印出的那些設定路徑,是本頁最具誤導性的部分:照著走的人,去找的是一個並不存在的畫面。
下面這份陣容是**設計意圖**——保留它,是因為它標出了產品要去的方向。這些東西一樣都不在盒子裡:`src/` 裡沒有連接器中繼資料,平台套件裡也沒有對應的連接器外掛。**`設定 → 整合` 這個分組本身是存在的**——它是平台 Setup 應用宣告的九個導覽分組之一,另外八個是*概覽*、*應用*、*人員與組織*、*存取控制*、*簽核*、*設定*、*診斷*與*進階*——但**下面這張表裡的廠商,沒有一家會往它底下掛項目**。這張表原先印出的那些設定路徑,是本頁最具誤導性的部分:照著走的人,去找的是一個並不存在的畫面。

| 工具 | 設計意圖中的行為 | 今天最接近的落地能力 |
| --- | --- | --- |
Expand Down Expand Up @@ -79,7 +79,7 @@ HotCRM 的設計目標是**融入你的技術堆疊**,而非取代它。今天

這一項不是空話。平台**確實**提供了出站 webhook 服務:`@objectstack/plugin-webhooks` 為每筆訂閱保存一列 `sys_webhook`——既可以透過該物件自己的管理介面撰寫,也可以用 `defineStack({ webhooks })` / `defineWebhook()` 在程式碼裡宣告——它把記錄事件與這些列做比對,並把每次命中交給共享的訊息 HTTP 出站佇列去投遞。

**HotCRM 沒有啟用它。** `objectstack.config.ts` 宣告的是 `requires: ['automation', 'triggers', 'analytics', 'auth', 'ui', 'approvals', 'sharing']`。`webhooks` 不在這個清單裡,也不屬於平台對每個應用都會載入的那一批能力。本應用同樣沒有宣告任何 webhook。因此 HotCRM 今天沒有任何 webhook 介面,也沒有 `設定 → 整合 → Webhooks` 這樣一個頁面可去。
**HotCRM 沒有啟用它。** `objectstack.config.ts` 宣告的是 `requires: ['automation', 'triggers', 'analytics', 'auth', 'ui', 'approvals', 'sharing']`。`webhooks` 不在這個清單裡,也不屬於平台對每個應用都會載入的那一批能力。本應用同樣沒有宣告任何 webhook。因此 HotCRM 今天沒有任何 webhook 介面:`@objectstack/plugin-webhooks` 沒有被載入,它貢獻的兩個 Setup 項目——**Webhooks** 與 **HTTP Deliveries**——也就不會出現在 `設定 → 整合` 底下。這是*本應用沒啟用*,不是*平台沒做*:照下面那段提示把這項能力打開,外掛自己就會把它們掛上去。

> **這是一個部署側的決定,不是路線圖項目。** 把 `webhooks` 加進 `requires`,宣告你的訂閱,此後投遞就是平台的事了。本頁原先承諾的重試次數、酬載結構選項與投遞紀錄畫面,從來就不由 HotCRM 定義——請按你所執行的版本去讀平台自己的 webhook 文件,而不是這裡。

Expand Down
Loading