Skip to content

Python: [Bug]: Title: InvokeTool cannot access functions registered via register_binding() in Declarative workflows #3512

@droideronline

Description

@droideronline

Description

register_binding() stores functions in WorkflowFactory._bindings, but InvokeTool action only looks in SharedState["_tool_registry"]. They are never connected.

Code Sample

factory = WorkflowFactory().register_binding("get_weather", get_weather)
workflow = factory.create_workflow_from_yaml_path("workflow.yaml")

Error Messages / Stack Traces

- kind: InvokeTool
  tool: get_weather  # ❌ "Tool 'get_weather' not found in registry"

Package Versions

python-1.0.0b260128

Python Version

No response

Additional Context

Is InvokeTool intended to work with register_binding()?
If YES: Bindings need to be passed to InvokeToolExecutor (like agents are passed to InvokeAzureAgentExecutor)
If NO: What is register_binding() for? How do workflows call registered functions?

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpythonv1.0Features being tracked for the version 1.0 GAworkflowsRelated to Workflows in agent-framework

Type

Projects

Status

In Review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions