You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The flow `notify` node consumed only recipients/title/message/channels, so every
notification it emitted had `sys_notification.source_object` / `source_id` = null
— inbox notifications could not be clicked into the related record.
Read `sourceObject`/`sourceId` (or the nested `source:{object,id}` form) and
`actorId` from the node config and forward them to `messaging.emit()`, which
already persists the source columns and synthesizes a `/{object}/{id}` inbox
deep-link. Both keys interpolate flow variables; a half-specified target is
dropped so the inbox never renders a dead link. Accept `url` as an alias for
`actionUrl`, and publish a `configSchema` documenting the accepted keys.
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Flow `notify` node: support a click-through target so inbox notifications can be clicked into the related record (#2675).
6
+
7
+
The `notify` node now reads `sourceObject` / `sourceId` (or the nested `source: { object, id }` form) and `actorId` from its config and forwards them to the messaging service, which persists `sys_notification.source_object` / `source_id` / `actor_id` and synthesizes a `/{object}/{id}` inbox deep-link. Both keys interpolate flow variables (e.g. `sourceId: '{new_quotation.id}'`), and a half-specified target (object without id, or vice versa) is dropped so the inbox never renders a dead link. `url` is now accepted as an alias for `actionUrl` (an explicit URL still overrides the synthesized link). The node also publishes a `configSchema` documenting all accepted keys for the Studio form.
8
+
9
+
Previously the node consumed only `recipients` / `title` / `message` / `channels`, so every notification it emitted had `source_object` / `source_id` = `null` and could not be clicked through to a record.
description: 'Object name of the record the notification links to (writes sys_notification.source_object). Requires sourceId.',
123
+
},
124
+
sourceId: {
125
+
type: 'string',
126
+
description: 'Record id the notification links to (writes sys_notification.source_id). Requires sourceObject. The inbox synthesizes a `/{object}/{id}` deep-link from these.',
127
+
},
128
+
actorId: {
129
+
type: 'string',
130
+
description: 'User id that caused the event (writes sys_notification.actor_id)',
131
+
},
132
+
url: {
133
+
type: 'string',
134
+
description: 'Explicit click-through URL; overrides the link synthesized from sourceObject/sourceId. Alias: `actionUrl`.',
135
+
},
136
+
payload: {type: 'object',description: 'Extra template inputs merged into the notification payload'},
0 commit comments