feat(studio): pick a connector action from the chosen connector (no hand-typed action ids)#2244
Merged
Merged
Conversation
…and-typed action ids)
A flow Connector Action node's `actionId` was free text (typo → node fails at
run time), left as text because actions have "no flat catalog". But each
connector advertises its actions in the runtime descriptors
(GET /automation/connectors → {name, actions:[{key,label}]}).
Now `actionId` is a picker of the CHOSEN connector's actions, resolved from the
sibling connectorId (mirrors object-field → its object's fields): new reference
kind `connector-action` + `connectorSource`; `useConnectorActionOptions` fetches
the descriptors; `resolveConnectorName` reads the node's connectorConfig. Stays
an editable combobox — degrades to text + hint with no connector chosen.
Unit-tested (resolveConnectorName, connectorActionsToOptions). Closes the last
critical hand-typed-identifier gap in flow-node config.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why (UX eval #5 — picker-first, no hand-typed identifiers)
In a flow's Connector Action node,
actionIdwas a free-text box (sendMessage · sendplaceholder) — a typo silently produces a node that fails at run time. It was left as text because a connector's actions have "no flat catalog"… but each connector already advertises its actions in the runtime descriptors:GET /api/v1/automation/connectors→{ name, actions: [{ key, label }] }.This is the last critical hand-typed-identifier gap in flow-node config — object / field / flow / role / connector / email-template references are already pickers.
What
actionIdis now a picker of the chosen connector's actions, resolved from the siblingconnectorId— mirroring howobject-fieldlists the fields of its resolved object:connector-action+connectorSourceonFlowReferenceSpec;useConnectorActionOptions(connectorName)fetches the descriptors and mapsactions[]→ options;resolveConnectorNamereads the chosen connector from the node'sconnectorConfigblock.Like every reference in the designer it stays an editable combobox — with no connector chosen (or none installed) it degrades to free text with a hint ("Choose a Connector above to list its actions" / "Actions of <connector>.").
Verification
Unit-tested —
resolveConnectorName(readsconnectorConfig.connectorId, custom source, undefined cases) andconnectorActionsToOptions(maps{key,label}, drops malformed, tolerates non-arrays). app-shell type-check clean (29/29). The fetch + combobox glue is a thin mirror of the already-shippedobject-fieldpicker.🤖 Generated with Claude Code