diff --git a/.changeset/notify-node-descriptor-align.md b/.changeset/notify-node-descriptor-align.md new file mode 100644 index 0000000000..e05f538d81 --- /dev/null +++ b/.changeset/notify-node-descriptor-align.md @@ -0,0 +1,7 @@ +--- +'@objectstack/service-automation': patch +--- + +Align the `notify` node's Studio form-descriptor strings with the schema's actual acceptance behaviour (docs-only; no acceptance or `configSchema` key/type/required change): + +- `sourceObject` / `sourceId` no longer say "Requires sourceId." / "Requires sourceObject.". Both are optional and the executor drops a half-specified click-through target at execute time (so the inbox never renders a dead link) — the descriptions now state that tolerance instead of a phantom requirement, mirroring the `NotifyConfigSchema.sourceObject`/`sourceId` `.describe()` wording fixed in #7085 (PR #7111). (#7112) diff --git a/packages/services/service-automation/src/builtin/notify-node.ts b/packages/services/service-automation/src/builtin/notify-node.ts index 8987fcc3c2..4fb79cbfc7 100644 --- a/packages/services/service-automation/src/builtin/notify-node.ts +++ b/packages/services/service-automation/src/builtin/notify-node.ts @@ -163,11 +163,11 @@ export function registerNotifyNode(engine: AutomationEngine, ctx: PluginContext) // ── Click-through target (#2675) ───────────────────────── sourceObject: { type: 'string', - description: 'Object name of the record the notification links to (writes sys_notification.source_object). Requires sourceId.', + description: 'Object name of the record the notification links to (writes sys_notification.source_object). Only takes effect together with sourceId — a half-specified click-through target is dropped at execute time, so the inbox never renders a dead link.', }, sourceId: { type: 'string', - description: 'Record id the notification links to (writes sys_notification.source_id). Requires sourceObject. The inbox synthesizes a `/{object}/{id}` deep-link from these.', + description: 'Record id the notification links to (writes sys_notification.source_id). Only takes effect together with sourceObject — a half-specified click-through target is dropped at execute time, so the inbox never renders a dead link. The inbox synthesizes a `/{object}/{id}` deep-link from these.', }, actorId: { type: 'string',