-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Feature Request
There's no way to create or manage Slack Canvases via slck. Canvases are Slack's native rich-document format and accept markdown content directly — making them ideal for posting formatted reports, runbooks, and summaries from the CLI.
Current Behavior
No canvas command exists. The closest alternative is Block Kit (--blocks), which requires JSON and uses Slack's mrkdwn flavor rather than standard markdown.
Proposed Solution
Add a slck canvas command group:
# Create a standalone canvas
slck canvas create --title "Sprint Review" --file report.md
slck canvas create --title "Sprint Review" --text "# Heading\n\nContent here"
echo "# Report" | slck canvas create --title "Report" --stdin
# Create a channel canvas (pinned to channel tab)
slck canvas create --channel C1234567890 --title "Runbook" --file runbook.md
# Edit an existing canvas
slck canvas edit <canvas-id> --file updated.md
# Delete a canvas
slck canvas delete <canvas-id>The --file flag should read a markdown file and pass it as the document_content payload.
API Reference
Slack's Canvas API accepts markdown natively via the document_content object:
{
"type": "markdown",
"markdown": "# Heading\n\n**Bold** and *italic* content..."
}Supported formatting: headings (h1-h3), bold, italic, strikethrough, bulleted/ordered lists, checklists, code blocks/spans, markdown tables, dividers, links, @mentions, emoji.
| Operation | Endpoint |
|---|---|
| Create standalone canvas | canvases.create |
| Create channel canvas | conversations.canvases.create |
| Edit canvas | canvases.edit |
| Delete canvas | canvases.delete |
Docs:
Version
slck version 0.1.0