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

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions