← Back
Vercel
Chat SDK adds native table rendering and streaming markdown conversion across all platforms
Vercel · featuresdkapi · vercel.com ↗

New Table() Component

Chat SDK now includes a native Table() card element that provides a clean, composable API for rendering tables across every platform adapter. Developers can pass headers and rows, and the SDK automatically handles platform-specific conversion:

Table({
  headers: ["Model", "Latency", "Cost"],
  rows: [
    ["claude-4.6-sonnet", "1.2s", "$0.003"],
    ["gpt-4.1", "0.9s", "$0.005"],
  ],
})

Platform-Specific Rendering

The adapter layer intelligently converts tables to each platform's native format:

  • Slack: Block Kit table blocks
  • Teams & Discord: GitHub-Flavored Markdown tables
  • Google Chat: Monospace text widgets
  • Telegram: Code blocks
  • GitHub & Linear: Native markdown tables (continue to work as before)

Improved Streaming Markdown

Streaming markdown has been significantly improved across all platforms:

  • Slack's native streaming: Now renders bold, italic, lists, and other formatting in real time as responses arrive, rather than waiting for message completion
  • Fallback adapters: All other platforms now pass streamed text through each adapter's markdown-to-native conversion pipeline at each intermediate edit
  • Backwards compatibility: Plain markdown tables (without the Table() component) are also converted through the same pipeline

Previously, adapters without platform-specific streaming would display raw markdown syntax (e.g., **bold**) until the final message. This update ensures users see properly formatted text throughout the streaming experience.

Getting Started

Update to the latest Chat SDK version to access these features. Refer to the Chat SDK documentation for implementation details.