Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Expose durable orchestrations as native agent tools with durable result continuation

Open
#161 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
azure, csharp

Research direction

Start with dotnet/src/Microsoft.Agents.AI.DurableTask/DurableAgentContext.cs and dotnet/samples/DurableAgents/AzureFunctions/06_LongRunningTools/Tools.cs to understand current orchestration scheduling. Then trace the agent tool and continuation entry points and identify tests for host recovery, duplicate delivery, result correlation, and terminal failures. Done means a supported typed orchestration tool, a sample that resumes with its result, and documentation of hosting and delivery guarantees.

Written by the indexing model from the issue text.

Description

Problem

An agent can already start an orchestration through DurableAgentContext.Current.ScheduleNewOrchestration(...). The long-running-tools sample demonstrates this with custom start, status, and event tools.

That supports starting work and returning an instance ID, but it does not provide a first-class orchestration-backed tool whose result is delivered back to the agent through a durable continuation. Applications must implement scheduling, correlation, pending-operation tracking, and agent resumption themselves.

We encountered this while building Durable Squad: a specialist needs to invoke a long-running business workflow and consume its eventual result before finishing its assignment. Returning an instance ID is useful, but is not equivalent to awaiting the business outcome.

Requested capability

Provide a supported way to register a durable orchestration as a typed agent tool, including its input/output schema and description.

Support two explicit invocation modes:

  • Start the orchestration and return a handle, preserving the existing fire-and-return use case.
  • Durably suspend the calling agent's continuation and resume it with the orchestration's result when execution completes.

The awaited mode should not hold a model request or an entity operation open while the orchestration runs. Scheduling and continuation recording should respect the existing entity transaction boundary rather than polling for work whose scheduling has not committed.

Expected behavior

  • Tool invocation, orchestration instance, and agent continuation have a stable correlation.
  • Host restarts do not lose pending invocations or their eventual results.
  • Redelivery or recovery does not unnecessarily start another orchestration for the same accepted tool invocation.
  • A successful result reaches the correct agent session and tool call before the agent continues.
  • Failure, termination, and any supported cancellation or configured timeout produce explicit outcomes rather than successful-looking results.
  • Execution is visible in DTS, with correlation back to the originating agent/tool invocation.
  • Standalone and Azure Functions hosting have documented support boundaries.

Scope

This is agent-to-orchestration tool composition, not exposing a workflow as an MCP endpoint or adding another start/status wrapper sample.

It does not request a general per-tool checkpointing redesign, a new human-approval framework, or exactly-once guarantees for external business side effects. Those effects still require application-level idempotency and reconciliation.

Acceptance criteria

  • A public API makes an orchestration available as an agent tool without application-authored continuation plumbing.
  • A sample shows an agent invoking a long-running orchestration and continuing with its typed result.
  • Tests cover pending execution across a host restart, duplicate delivery, result correlation, and terminal failure outcomes.
  • Documentation distinguishes start-and-return-handle from durably awaited execution and states delivery/idempotency guarantees precisely.

Current reference points

  • dotnet/src/Microsoft.Agents.AI.DurableTask/DurableAgentContext.cs
  • dotnet/samples/DurableAgents/AzureFunctions/06_LongRunningTools/Tools.cs

These illustrate existing scheduling support. The request is to build a first-class durable tool continuation on top of it.

Dominant language
Python
Stars
19
Forks
11
Avg merge
5d 18h
Merged PRs (30d)
11

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/agent-framework-durable-extension

All issues in microsoft/agent-framework-durable-extension

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.