Repository navigation
Description
Language
Python
Type of Issue
Bug
Microsoft.Agents.AI
No response
Microsoft.Agents.AI.Abstractions
No response
Microsoft.Agents.AI.OpenAI
No response
Microsoft.Agents.AI.AzureAI
No response
Microsoft.Agents.AI.Anthropic
No response
Microsoft.Agents.AI.Hosting
No response
Microsoft.Agents.AI.Workflows
No response
Other .NET Packages
No response
agent-framework-core
No response
agent-framework-azure-ai
No response
agent-framework-anthropic
No response
agent-framework-azurefunctions
No response
Other Python Packages
No response
Description
Repro Steps:
- Run this sample code
- The terminal output doesn't contain
[COMPLETED] reverse_text.
Expected behavior:
- The terminal output DOES contain
[COMPLETED] reverse_text.
Background:
We are building a UI to visualize the workflow run and show its input and outputs via this mechanism (https://github.com/microsoft/agent-framework/blob/main/python/samples/getting_started/workflows/observability/executor_io_observation.py). But for the final executor, the output we get is empty.
Is it by design that the final executor (only calls yield_output but not send_message) ExecutorCompletedEvent doesn't contain valid data passed to yield_output? If so, how can I get its output programatically without knowing the structure of the workflow in general?
Finding the last executor running before the workflow finishes and use the workflow output to show as the final executor's output is one possible solution but it seems too tricky.
Code Sample
Additional Context
## pip freeze
agent-framework-azure-ai==1.0.0b251223
agent-framework-core==1.0.0b251223
aiohappyeyeballs==2.6.1
aiohttp==3.13.3
aiosignal==1.4.0
annotated-types==0.7.0
anyio==4.12.0
asgiref==3.11.0
attrs==25.4.0
azure-ai-agents==1.2.0b5
azure-ai-agentserver-agentframework==1.0.0b7
azure-ai-agentserver-core==1.0.0b7
azure-ai-projects==2.0.0b2
azure-core==1.37.0
azure-core-tracing-opentelemetry==1.0.0b12
azure-identity==1.26.0b1
azure-monitor-opentelemetry==1.8.3
azure-monitor-opentelemetry-exporter==1.0.0b46
azure-storage-blob==12.28.0b1
certifi==2026.1.4
cffi==2.0.0
charset-normalizer==3.4.4
click==8.3.1
colorama==0.4.6
cryptography==46.0.3
debugpy==1.8.8
distro==1.9.0
frozenlist==1.8.0
googleapis-common-protos==1.72.0
grpcio==1.76.0
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
httpx-sse==0.4.3
idna==3.11
importlib_metadata==8.7.1
isodate==0.7.2
jiter==0.12.0
jsonschema==4.25.1
jsonschema-specifications==2025.9.1
mcp==1.25.0
msal==1.34.0
msal-extensions==1.3.1
msrest==0.7.1
multidict==6.7.0
oauthlib==3.3.1
openai==2.14.0
opentelemetry-api==1.39.0
opentelemetry-exporter-otlp-proto-common==1.39.0
opentelemetry-exporter-otlp-proto-grpc==1.39.0
opentelemetry-exporter-otlp-proto-http==1.39.0
opentelemetry-instrumentation==0.60b0
opentelemetry-instrumentation-asgi==0.60b0
opentelemetry-instrumentation-dbapi==0.60b0
opentelemetry-instrumentation-django==0.60b0
opentelemetry-instrumentation-fastapi==0.60b0
opentelemetry-instrumentation-flask==0.60b0
opentelemetry-instrumentation-psycopg2==0.60b0
opentelemetry-instrumentation-requests==0.60b0
opentelemetry-instrumentation-urllib==0.60b0
opentelemetry-instrumentation-urllib3==0.60b0
opentelemetry-instrumentation-wsgi==0.60b0
opentelemetry-proto==1.39.0
opentelemetry-resource-detector-azure==0.1.5
opentelemetry-sdk==1.39.0
opentelemetry-semantic-conventions==0.60b0
opentelemetry-semantic-conventions-ai==0.4.13
opentelemetry-util-http==0.60b0
packaging==25.0
propcache==0.4.1
protobuf==6.33.2
psutil==7.2.1
pycparser==2.23
pydantic==2.12.5
pydantic-settings==2.12.0
pydantic_core==2.41.5
PyJWT==2.10.1
python-dotenv==1.2.1
python-multipart==0.0.21
pywin32==311
referencing==0.37.0
requests==2.32.5
requests-oauthlib==2.0.0
rpds-py==0.30.0
sniffio==1.3.1
sse-starlette==3.1.2
starlette==0.50.0
tqdm==4.67.1
typing-inspection==0.4.2
typing_extensions==4.15.0
urllib3==2.6.2
uvicorn==0.40.0
websockets==15.0.1
wrapt==1.17.3
yarl==1.22.0
zipp==3.23.0Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
[-]Workflow observability: not able to get the last executor's output from ExecutorCompletedEvent's data property[/-][+]Python: Workflow observability: not able to get the last executor's output from ExecutorCompletedEvent's data property[/+]moonbox3 commentedon Jan 6, 2026
Alex Wang (@a1exwang), fixed in #3090.
a1exwang commentedon Jan 7, 2026
Thanks for the quick response!