Zudo Slack Wisdom
GitHub repository

Type to search...

to open search from anywhere

Data Surfaces

A bot has data to show a team inside Slack — which surface should hold it?

A bot has data to show a team — a status board, a sync report, a set of tracked work items. Slack gives you five different places to put it, and they are not interchangeable: each one trades off who is allowed to edit it, how expensive it is to refresh, and how much visual structure it can carry.

Overview

SurfaceBot-writableRead-only guaranteeRefresh costVisual ceiling
Pinned chat.update messageYesAbsolute — only the posting app can edit it1 API callBlock Kit, incl. Table block
Slack ListsYesConfigurable, server-enforced, with holesPer-row bookkeepingA real Kanban board
Channel bookmark to an external dashboardYesGoverned by your own appZero — always liveUnlimited — it's your UI
CanvasYesConfigurable1 call, but a whole-document replaceMarkdown document, tables only
App HomeYesYesO(users) calls per refreshFull Block Kit, but per-user

Decision tree

graph TD A[Bot has data to show a team] --> B{Team needs to edit it as a board?} B -->|Yes| C[Slack Lists] B -->|No| D{You already have a real dashboard?} D -->|Yes| E[Channel bookmark + a pinned summary] D -->|No| F{Is it a living document, not live numbers?} F -->|Yes| G[Canvas] F -->|No| H{Does every viewer need different data?} H -->|Yes| I[App Home] H -->|No| J[Pinned chat.update message]

In This Section

  • Choosing a Dashboard Surface — the ranked comparison across all five surfaces, with a decision rule

  • Canvas — the canvases.create / canvases.edit write path, channel canvases, the access.set read flow, and hard limits

Revision History

CreatedUpdated