Describe the Bug
The Logic Apps Standard SDK (Microsoft.Azure.Workflows.Sdk
1.0.0-preview.1) provides ~1,300 auto-generated typed managed
connector methods via WorkflowActions.Managed.<Connector>(...).
However, there is no public API to create an ApiConnectionAction
for managed connectors that are not in the typed set.
Specifically, the GenevaAuto connector family used by IcM Agent
Studio workflows (GenevaAuto.Connectors/IcM Kusto queries,
GenevaAuto.Connectors/HtmlTemplate, GenevaAuto.Connectors/
Notifications) has no typed SDK binding.
ApiConnectionAction has an internal constructor
ApiConnectionActionInput has a public constructor
WorkflowManagedActions has no generic/escape-hatch method
- The class is not sealed, but cannot be subclassed because the
only constructor is internal (not protected)
This means codeful workflows cannot use any managed connector
that isn't in the pre-generated typed set.
Plan Type
Standard
Steps to Reproduce the Bug or Issue
To Reproduce
// This is what we'd like to do — no public API exists:
var kustoQuery = WorkflowActions.Managed
.CreateApiConnection(
connectionName: "kusto",
method: "post",
path: "/ListKustoResults/false",
body: new { cluster = "...", db = "...", csl = "..." });
// Workaround attempted — reflection works but is fragile:
var input = new ApiConnectionActionInput("/path", "post", "kusto");
input.Body = new { ... };
var ctor = typeof(ApiConnectionAction)
.GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance)
.First();
var action = (IWorkflowAction)ctor.Invoke(new object[] { input });
// This produces valid JSON but relies on internal API
Expected behavior
A public factory method on WorkflowManagedActions or
WorkflowActions.BuiltIn that accepts path, method,
connectionName, and body — producing a standard
ApiConnectionAction that generates "Type": "ApiConnection"
JSON with proper Host.Connection.ReferenceName binding.
Suggested API:
WorkflowActions.Managed.ApiConnection(
connectionName: "kusto",
method: "post",
path: "/ListKustoResults/false",
body: () => new { ... })
Actual behavior
No public API exists. The only alternative is HttpAction which
generates "Type": "Http" — functionally different (no managed
connection binding, different auth model).
Workflow JSON
Screenshots or Videos
No response
Additional context
Impact
Teams migrating existing Logic Apps workflows to codeful SDK that
use any connector outside the 1,300 pre-generated set (e.g.,
GenevaAuto/Geneva family, custom connectors, private connectors)
are blocked from achieving parity with their JSON-authored
workflows.
Environment
- Microsoft.Azure.Workflows.Sdk: 1.0.0-preview.1
- .NET: net8.0
- OS: Windows 11
Additional context
We verified via reflection that ApiConnectionActionInput is
fully public and the internal ctor produces working results —
the generated JSON is structurally identical to what the typed
connectors emit. This suggests the gap is an oversight in API
surface exposure rather than a fundamental limitation.
Describe the Bug
The Logic Apps Standard SDK (
Microsoft.Azure.Workflows.Sdk1.0.0-preview.1) provides ~1,300 auto-generated typed managed
connector methods via
WorkflowActions.Managed.<Connector>(...).However, there is no public API to create an
ApiConnectionActionfor managed connectors that are not in the typed set.
Specifically, the GenevaAuto connector family used by IcM Agent
Studio workflows (GenevaAuto.Connectors/IcM Kusto queries,
GenevaAuto.Connectors/HtmlTemplate, GenevaAuto.Connectors/
Notifications) has no typed SDK binding.
ApiConnectionActionhas an internal constructorApiConnectionActionInputhas a public constructorWorkflowManagedActionshas no generic/escape-hatch methodonly constructor is
internal(notprotected)This means codeful workflows cannot use any managed connector
that isn't in the pre-generated typed set.
Plan Type
Standard
Steps to Reproduce the Bug or Issue
To Reproduce
Expected behavior
A public factory method on
WorkflowManagedActionsorWorkflowActions.BuiltInthat accepts path, method,connectionName, and body — producing a standard
ApiConnectionActionthat generates"Type": "ApiConnection"JSON with proper
Host.Connection.ReferenceNamebinding.Suggested API:
Actual behavior
No public API exists. The only alternative is
HttpActionwhichgenerates
"Type": "Http"— functionally different (no managedconnection binding, different auth model).
Workflow JSON
Screenshots or Videos
No response
Additional context
Impact
Teams migrating existing Logic Apps workflows to codeful SDK that
use any connector outside the 1,300 pre-generated set (e.g.,
GenevaAuto/Geneva family, custom connectors, private connectors)
are blocked from achieving parity with their JSON-authored
workflows.
Environment
Additional context
We verified via reflection that
ApiConnectionActionInputisfully public and the internal ctor produces working results —
the generated JSON is structurally identical to what the typed
connectors emit. This suggests the gap is an oversight in API
surface exposure rather than a fundamental limitation.