Skip to content

Feature request: activity type or API to end Copilot loading state without rendering content #785

@EulerMacaroni

Description

@EulerMacaroni

Summary

When building agents with the Agents-for-js SDK that target Microsoft's hosted Copilot UI, there is no supported way to stop the built-in loading indicator without sending a visible message (as far I know). I'd like a first-party activity type (e.g., void) or adapter-side API that ends the turn and dismisses the spinner while keeping the conversation transcript unchanged.

Scenario

  • For agent runs long-running work, and the final response comes asynchronous.
  • Once work finishes, the agent has nothing further to show but wants the client to exit the "sync" / loading state so the experience feels asynchronous.
  • Attempting to rely on deleteActivity after sending an interim message only clears the transcript after the Copilot UI is reloaded; the deletion is not reflected in real time.

Expected behavior

  • The SDK (and Copilot UI integration) expose a supported signal/activity to indicate "no further reply, dismiss loading state".
  • Alternatively, deleteActivity events propagate to the hosted Copilot client immediately.

Actual behavior

  • All activities must carry user-visible text or cards to affect the UI; there's no way to send a "void" or equivalent activity.
  • deleteActivity removes the transcript entry server-side, but the hosted Copilot UI only reflects the change after a refresh.

Impact

  • Agents that need to return control to the user without extra text must fall back to empty messages or custom channels, which is confusing for users.
  • Deleting corrective messages doesn't help because the UI doesn't update live.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions