Back to Blog
Guide

Slack Canvas Table of Contents: The Built-in Outline and Section Links

Every Slack canvas already has a table of contents: hover the short lines at the left edge and a list of all headings opens. For a contents list inside the canvas, copy a link to each heading and paste them as a list. We tested both on October 28, 2026.

Slack Green Team
October 28, 2026
October 28, 2026
3 min read
Share:
slack canvas
slack tips

A Slack canvas makes its own table of contents. When a canvas has headings, a column of short grey lines appears at its left edge, one line per heading. Hover over those lines and a list of every heading opens; click a heading and the canvas scrolls to it. There is no "insert table of contents" block, but you can build one inside the canvas: open the menu next to each heading, choose Copy link to section, and paste the links as a list. We tested both in the Slack web app on October 28, 2026, in a canvas with seven headings.

Open the built-in outline

  • Add headings to the canvas. Type #, ## or ### and a space at the start of a line, or use the Aa menu.
  • Look at the left edge of the canvas, next to the text. Each heading adds a short line there.
  • Hover over the lines. The outline opens with the canvas title on top and every heading under it.
  • Click a heading to jump to it.
  • This is the outline of our test canvas:

    A Slack canvas with the outline open on the left, listing Q4 launch plan in blue and the headings Goals, Timeline, Owners, Risks, Launch checklist and Retro notes

    In our canvas, clicking Retro notes in the outline scrolled the page to that heading and put the cursor in it. The outline is not part of the canvas content: when we copied the whole canvas, the outline did not come along as text. Formatting tips for the headings themselves are in Slack canvas formatting.

    Hover over a heading and a drag handle (six dots) appears to its left. Click it to open the section menu:

    The section menu of a Slack canvas heading, with Copy link to section, Add a comment, Add a reaction, Medium heading, Collapse heading, Add callout, Copy section, Add section and Remove, next to the canvas with the Risks heading highlighted

    Copy link to section copies a link that ends in ?focus_section_id= and the heading's ID, for example:

    https://your-workspace.slack.com/docs/T0B7JBCDKC1/F0CCUDJEYJD?focus_section_id=temp:C:fMK2833dbd5c6a4b02597d5d78c2

    Slack's shortcut panel lists Ctrl + Option + Q for Copy anchor link. With the cursor in a heading, it copied the same kind of link and showed "Link copied to clipboard".

    When we posted a section link in a channel, Slack's preview showed only that section, the Risks heading and its text, not the whole canvas:

    A Slack message with a link labeled the launch plan, Risks section, unfurled as a preview of just the Risks heading and its paragraph, followed by a Slackbot note that the canvas is now shared with the channel

    Two things to know before you share one. Slackbot said the canvas was now shared and that "Anyone who can access this channel can now comment and edit", so posting the link also shares the canvas with that channel; are Slack canvases private explains who sees what. And clicking the link opened the full canvas with the cursor on the Risks heading.

Never appear "away" on Slack again

Cloud-based. No downloads. Works 24/7 even when your laptop is off.

Build a table of contents inside the canvas

For a contents list that readers see at the top of the page:

  • Type a short label such as Contents at the top.
  • For each heading, open its section menu and click Copy link to section.
  • Back at the top, type the heading name, select it, and paste the link onto it (or use the link button in the toolbar). Make it a bulleted list with - and a space.
  • We inserted our list through Slack's API (see the FAQ), so the steps above are the manual route to the same links.

    Our list of six section links looked like this:

    A Contents list at the top of a Slack canvas with six blue links: Goals, Timeline, Owners, Risks, Launch checklist and Retro notes

    We put 18 paragraphs of text between the list and the first heading, so the headings started well below the screen. Clicking Goals in the list moved the Goals heading from 1,458 pixels down the page to near the top of the view, 202 pixels down. The links worked inside the canvas, without a new tab.

    One catch: section links point to this canvas by its file ID. If you copy the canvas, the copied list still points to the original canvas. In our test, pasting the whole canvas into a new one kept all six links, and all six still pointed to the old canvas. How to copy a Slack canvas has that test.

    Fold long sections instead

    The same section menu has Collapse heading, and a small arrow appears next to a heading when you hover it. Folding the long sections keeps a canvas short without a contents list. We did not test how much text one fold hides.

    FAQ

    Can I add a table of contents through the API?

    Yes, as links. canvases.sections.lookup returns the ID of each heading, and canvases.edit can insert a markdown list whose links end in ?focus_section_id= plus that ID. We built the list in our test this way, and the links worked like ones made by hand.

    Why does my canvas have no outline lines on the left?

    The outline only lists headings. A canvas made of bold text and bullets has no headings, so nothing shows. Turn the section titles into headings first.

    Only if they can open the canvas. A section link opens the whole canvas, so the canvas's own sharing settings decide who gets in.

    Always Active

    Stop Jiggling Your Mouse.

    Join hundreds of remote workers who never worry about their Slack status. Set it up once, stay green forever.

    Related Articles

    Guide

    Slack Canvas Shortcuts: Keyboard Keys, the / Menu and Dates

    Slack canvases have their own keyboard shortcuts: Cmd + Option + 1 to 3 for headings, Cmd + Shift + 7, 8 and 9 for lists and checklists, and / for an insert menu that adds dates and reminders. We pressed every formatting shortcut in a real canvas on October 28, 2026.

    Slack Green Team
    Guide

    How to Copy or Duplicate a Slack Canvas

    Slack canvases have no Duplicate button. To copy one, select all, copy, and paste into a new canvas, or copy it by API. We tested both on October 28, 2026: headings and lists came through, but links to sections still pointed at the old canvas.

    Slack Green Team
    Guide

    Does Slack Collapse Long Messages? When Show More Appears

    Slack shows a normal message in full, however long it is: a 40-line message and a 3,900-character message both showed with no Show more link in our October 28, 2026 test. Show more appears only on legacy attachments from apps, at 6 lines or about 700 characters.

    Slack Green Team