feat(workflows): suggest account properties as output variables - #69489
Conversation
🤖 CI report
|
| File | Size | Δ vs base |
|---|---|---|
exporter/_parent/products/workflows/frontend/Workflows/WorkflowScene.js |
157.4 KiB | 🔺 +2.1 KiB (+1.4%) |
posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene.js |
118.8 KiB | 🔺 +2.1 KiB (+1.8%) |
Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report
✅ Eager graph — within budget
How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.
| Root | Eager (shipped) | Δ vs base | Budget |
|---|---|---|---|
entry (logged-out pages, app bootstrap)src/index.tsx |
1.20 MiB · 22 files | no change | ███░░░░░░░ 28.0% of 4.29 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
8.07 MiB · 2,956 files | no change | █████████░ 87.2% of 9.25 MiB |
🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
Largest files eagerly shipped from src/index.tsx
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.5 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 3.9 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.4 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
| 789 B | src/scenes/ChunkLoadErrorBoundary.tsx |
| 668 B | src/index.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 277.1 KiB | ../node_modules/.pnpm/posthog-js@1.398.2/node_modules/posthog-js/dist/rrweb.js |
| 266.9 KiB | ../node_modules/.pnpm/@posthog+icons@0.37.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 224.6 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 213.6 KiB | ../node_modules/.pnpm/posthog-js@1.398.2/node_modules/posthog-js/dist/module.js |
| 164.0 KiB | src/queries/validators.js |
| 154.0 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.7 KiB | src/lib/api.ts |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 90.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.1_@tiptap+pm@3.20.1/node_modules/@tiptap/core/dist/index.js |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
⚠️ Dist folder size — 🔺 +25.4 KiB (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1433.71 MiB · 🔺 +25.4 KiB (+0.0%)
178f7b1 to
6f3f7bb
Compare
|
Reviews (1): Last reviewed commit: "feat(workflows): suggest account propert..." | Re-trigger Greptile |
Generated-By: PostHog Code Task-Id: b3e66e59-1d03-418b-8f37-8905450bf848
Generated-By: PostHog Code Task-Id: 39cf55c0-834c-42f0-8778-14449131c449
Generated-By: PostHog Code Task-Id: 39cf55c0-834c-42f0-8778-14449131c449
bcddc9b to
8e2e6f3
Compare
🦔 Hogbox preview · ✅ ready▶ Open the preview
commit |
The rebase onto master picked up the tightened HogFlowAction config discriminated union, so reading `config.template_id` directly no longer type-checks. Guard with `'template_id' in config` (matching the existing pattern in WorkflowsTable) and pass an explicit payload to the loadSuggestions loader action. Generated-By: PostHog Code Task-Id: 7ddf7961-ab27-4bb9-ac38-c46d4fa8ae3d
There was a problem hiding this comment.
Additive external API field (customer_analytics is the author's own team) plus a contained, well-tested workflows frontend suggestion feature; the one greptile concern was resolved with a substantiated technical reply and a bot 👍, and the known scaling edge case is transparently documented in COMPROMISES.md rather than hidden.
- Author wrote 25% of the modified lines and has 76 merged PRs in these paths (familiarity MODERATE).
- 👍 on the PR from greptile-apps[bot], hex-security-app[bot].
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 196L, 8F substantive, 287L/11F incl. docs/generated/snapshots — within ceiling |
| tier | ✓ | T1-agent / T1c-medium (287L, 11F, two-areas, feat) |
| stamphog 2.0.0b3 | .stamphog/policy.yml @ bf52e45 · reviewed head e6daa3a |
Problem
There is no easy way to add custom property or relationship variables to a Get account workflow node without running a live test or hand-typing result paths.
Closes #69417
Changes
custom_propertiesto the external account payload (contract, facade, view, nodejs mock) -- every team definition keyed by name,nullwhen unsetCreateActionTypewithgetOutputMappingSuggestionsfor node-level suggestion hooksresult_pathsuggestionsloader andapplySuggestionaction tohogFlowOutputMappingLogicHow did you test this code?
Python:
hogli test products/customer_analytics/backend/test/test_external.py(36 pass; new test catches missing/nullcustom_propertiesin GET response)Frontend:
pnpm --filter=@posthog/frontend exec jest .../customer_analytics.test.ts --forceExit(24 pass; new cases cover dot vs bracket path and slug edge cases)👉 Stay up-to-date with PostHog coding conventions for a smoother review.
Automatic notifications
Docs update
No
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Authored by a Claude sonnet sub-agent orchestrated in a PostHog Code session. Skills invoked:
/writing-tests,/writing-kea-logics.The bracket-path rule (
custom_properties["name"]for names containing non-alphanumeric chars) exists because lodashget-- used at runtime intrackActionResult-- supports quoted bracket notation, so paths likecustom_properties["MRR (net)"]resolve correctly. Names matching/^[A-Za-z0-9_]+$/use the shorter dot form. Suggestions are best-effort (fetch failure returns[]) to avoid blocking panel render when the definitions API is slow.Orchestrator review pass added on top: datetime custom property values serialize as ISO strings (instead of being dropped to null), relationship suggestion keys are namespaced
account_relationship_<slug>and deduped against slug collisions, and stale suggestions reset when switching nodes.Created with PostHog Code