Skip to content

docs(blog): add Quoted Replies and Threaded Replies post#2851

Merged
corinagum merged 15 commits into
mainfrom
cg/blog-quoted-threaded-replies
May 27, 2026
Merged

docs(blog): add Quoted Replies and Threaded Replies post#2851
corinagum merged 15 commits into
mainfrom
cg/blog-quoted-threaded-replies

Conversation

@corinagum
Copy link
Copy Markdown
Collaborator

@corinagum corinagum commented May 20, 2026

Summary

  • Adds a feature blog post covering quoted replies and threaded replies, with code examples in TypeScript, .NET, and Python pulled from the merged feature PRs across the three SDKs.
  • Post is structured problem-first (matches the pattern in Creating blog entry for Reaction Extensibility #2844): The ProblemWhat You Can Do capability table → Real-World Scenarios → wire-format deep dives per feature → At a Glance decision table → cross-SDK parity table.
  • Per-SDK code is in flat sections (no MDX <Tabs>), with #### TypeScript / #### .NET / #### Python subheadings under each operation.
  • Three Teams UI screenshots: a quoted reply (grey quote bubble above the bot's reply) and a threaded reply (root post with nested replies indented underneath).

Files

  • teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx (384 lines)
  • teams.md/blog/2026-05-13-quoted-and-threaded-replies/quoted-reply-bot-response.png
  • teams.md/blog/2026-05-13-quoted-and-threaded-replies/threaded-reply-channel.png

Test plan

  • npm run docs:build succeeds locally
  • Post renders at /blog/quoted-and-threaded-replies
  • Both image require() paths resolve in the build output (small PNG inlines as base64, larger one bundles as a separate asset)
  • Reviewer spot-check of code snippets against current SDK shapes
  • Confirm screenshots are acceptable or substitute with preferred shots

corinagum and others added 3 commits May 20, 2026 14:37
Adds a feature blog post covering both quoted replies and threaded
replies, with code examples in TypeScript, .NET, and Python. The post
includes problem framing, real-world scenarios, wire-format
explanations, per-SDK code in flat sections (no MDX Tabs), a decision
table for picking between the two features, and a cross-SDK parity
table. Two Teams UI screenshots illustrate what each feature looks like
to the end user.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A '… +186 lines (ctrl+o to expand)' string from a copy/paste of
rendered transcript output ended up between the capability table's
header and separator rows. Removed it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
corinagum and others added 2 commits May 20, 2026 15:07
- Merge "What You Can Do" and "Cross-SDK parity" into one table near the
  top, with TypeScript / .NET / Python columns. Drop the standalone
  parity section. Move its closing line under the merged table.
- Tighten the intro run-on, drop a backstory clause that didn't add
  context, and remove a decorative closing line in "The Problem".
- Simplify several scenario and section sentences without losing the
  conversational tone.
- Drop both experimental-status mentions; both features are GA by the
  time the post publishes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The bare method names render comfortably in the table. The class-scope
context is preserved in the code snippets below, where it actually
matters for compiling/running the example. context./ctx./Context./app./
teams. prefixes stay because they disambiguate context.reply() (reactive
auto-quote) from app.reply() (proactive thread send).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Member

@nickwalkmsft nickwalkmsft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall the problem -> solution structure is good and useful, but in this case I think the larger framing should be that this is presenting a big and very important step change in interaction and implementation guidance that affects both the code written and the user experience. That guidance should be louder and more authoritative - "there's a better way now, this is the way forward, start using this today."

Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
corinagum and others added 5 commits May 21, 2026 14:34
Adds three new sections, edits scenarios to address Nick's review
comments, generalizes channel-specific language, and adds jump-links
from scenarios to the code sections that implement them.

- Add "Why now" section covering the messaging-service change for QR,
  the upcoming threading expansion for TR, and the small cleanup story.
- Add "The SDK handles the conversation type for you" stance section
  so readers don't have to track chat vs channel; the SDK abstracts it.
- Add "More on the technical (skip if not interested)" section near the
  bottom describing the QR wire-format shift (client-built HTML to
  server-validated entity) and why it enabled the proactive APIs.
- Edit Scenario 1 to make explicit that context.reply() does threading
  and auto-quoting at once; the "At a Glance" row now recaps rather
  than surprises.
- Edit Scenario 2 to clarify "root" with a parenthetical and frame
  this as filling an SDK gap, not a new platform feature.
- Edit Scenario 3 to answer the "do quotes stack at the top" question
  inline.
- Edit Scenario 4 to drop the "most agents won't need it" framing.
- Add jump-links from each scenario to the code sections it references
  (Scenario 2 and 3 each link to two sections).
- Move the QR wire-format paragraph from the top of the section to
  above "Reading inbound quotes", where it's most useful.
- Rename "Quoted Replies on the Wire" / "Threaded Replies on the Wire"
  to plain "Quoted Replies" / "Threaded Replies".
- Generalize "channel" to "conversation" where the point applies to
  any conversation type, since threading is expanding to chats and
  meetings.
- Tighten the QR image alt text and add a caption clarifying that the
  reader is looking at an agent reply with the original message in the
  quote bubble above.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Member

@nickwalkmsft nickwalkmsft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it.

Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Copy link
Copy Markdown

@araheja0704 araheja0704 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The post overall looks really good - the problem -> solution structure lands cleanly and the "Which one do I reach for?" decision table is a really useful artefact. Some things to consider:

  1. Are we scoping channel-heavy in some of our scenarios/examples? We mention that the APIs are surface-agnostic but maybe a more even distribution of scenarios between chat and channel will help that come across more
  2. Maybe I am misremembering but we didn't mention the max-quote limit (5 if I remember correctly?) - is that no longer a thing?
  3. Do we think it's worth mentioning up-front before the Appendix-like technical section what exactly changed from the old support of the SDK to the new version?

But once again overall this is in very strong shape :) Excited for release!

@corinagum corinagum marked this pull request as ready for review May 27, 2026 15:57
Copilot AI review requested due to automatic review settings May 27, 2026 15:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Teams SDK blog post introducing quoted replies and threaded replies, with cross-SDK examples and UI screenshots to explain when/how to use the new APIs.

Changes:

  • New blog post content covering quoted replies + proactive thread replies, including “why/when”, scenario walkthroughs, and wire-format notes.
  • Adds embedded screenshots illustrating quoted reply, threaded reply, and multi-quote message formatting.

Reviewed changes

Copilot reviewed 1 out of 4 changed files in this pull request and generated 5 comments.

File Description
teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx New feature blog post with scenario-driven guidance and TypeScript/.NET/Python snippets, plus embedded images.
teams.md/blog/2026-05-13-quoted-and-threaded-replies/quoted-reply-bot-response.png Screenshot asset used by the post.
teams.md/blog/2026-05-13-quoted-and-threaded-replies/threaded-reply-channel.png Screenshot asset used by the post.
teams.md/blog/2026-05-13-quoted-and-threaded-replies/multi-quote-message.png Screenshot asset used by the post.

Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.mdx Outdated
Comment thread teams.md/blog/2026-05-13-quoted-and-threaded-replies/index.md
corinagum and others added 4 commits May 27, 2026 09:23
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@corinagum corinagum merged commit b7db7f9 into main May 27, 2026
2 checks passed
@corinagum corinagum deleted the cg/blog-quoted-threaded-replies branch May 27, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants