Skip to main content

How the Editor Works

The new retrospective editor provides a rich text editing experience with real-time collaboration, dynamic data blocks, and template support. This page covers everything you need to know to create and edit retrospectives effectively. The editor is designed to be intuitive. You can type naturally, use slash commands for quick actions, and let autosave handle the rest.

Getting Started with the Editor

Where to Find the Editor

1

Open the incident

Navigate to the incident from the incidents list or a direct link.
2

Go to the Retrospective tab

Click the Retrospective tab on the incident page.
3

Click the document preview

Click anywhere in the document preview to open the editor.
4

Begin editing

The editor opens with your team’s default template pre-appended to the document. Start typing or use slash commands to add content.
Retrospective documents automatically populate with your team’s default template. You can configure this template in Retrospectives → Document Templates.

Quick Start

  • Type naturally to add text
  • Press Enter to create new nodes in the document
  • Type / to open the slash command menu
  • Select text and use the toolbar for formatting
  • Drag and reposition nodes of content in your document
  • All changes save automatically

Rich Text Formatting

The editor supports standard rich text formatting through the toolbar, keyboard shortcuts, and slash commands.

Text Formatting

Headings

Lists

Other Blocks

Slash Commands

Slash commands provide quick access to all editor features. Type / anywhere in the editor to open the command menu.

AI Blocks

AI blocks are sections Rootly drafts for you from the incident’s data, Slack channel, and bridge-call transcripts. Type / and choose a block (or /ai) to insert one; it generates in place and stays fully editable. See AI in Retrospectives for the full guide.

Incident Data Blocks

With incident data blocks, you can insert dynamic content that pulls data from the incident.

Basic Blocks

Basic blocks insert standard document elements.
The slash command menu filters as you type. For example, typing /time will show the timeline command at the top.

Incident Data Blocks

Incident Data Blocks are dynamic elements that pull live data from the incident. They update automatically when the underlying data changes.

Timeline Block

The Timeline block displays all events from the incident timeline, including user actions, system events, and status changes.

To insert a Timeline block:

  1. Type /timeline in the editor
  2. Press Enter or click the command

Timeline block features:

  • Shows event date/time, source, user, and description
  • Pagination controls help keep the document compact
  • Drag the block to reposition it in the document
  • Click the node to select the entire block, then use backspace to delete
The Timeline block pulls live data from the incident. If new events are added to the timeline, the block updates automatically.

Follow-ups Block

The Follow-ups block displays action items associated with the incident.

To insert a Follow-ups block:

  1. Type /followups in the editor
  2. Press Enter or click the command

Follow-ups block features:

  • Shows action item title, priority, status, assignee, and due date
  • Sort options: Due Date, Priority, or Status
  • Drag the block to reposition it in the document
  • Click the node to select the entire block, then use backspace to delete
When follow-ups are added or updated on the incident, the block reflects those changes automatically.

Working with AI blocks

Like data blocks, AI blocks live in the document and stay editable — see the AI Blocks table above for the full list of block types.

To insert an AI block:

  1. Type /ai in the editor (or pick a block from the slash menu)
  2. The block is inserted and starts generating in place

AI block features:

  • Content streams in live as it generates
  • Open the block’s details to see its sources and the prompt behind it
  • Edit the generated text inline, regenerate it, or convert it to plain text
  • Rate the output with 👍 / 👎
AI blocks can also be built into your team’s templates so every retrospective generates them automatically. See AI in Retrospectives for the full guide.

How Data Blocks Render on Export

When you publish or export the retrospective to an external provider, data blocks are rendered as static content at the time of export. This includes:
  • Timeline events formatted as a table
  • Follow-ups formatted as a list with metadata
  • Liquid variables or blocks resolved to their actual values
  • AI block content rendered as static text (the generated draft is frozen at export time)

Using Templates

Templates provide pre-built content structures that ensure consistency across retrospectives.

Inserting a Template

1

Open the slash command menu

Type / in the editor.
2

Select Template

Click Template from the dropdown.
3

Choose a template

Browse your team’s available templates and click to insert.
4

Customize the content

The template content is inserted at your cursor position. Edit as needed.

What Templates Can Include

  • Headings and sections (Summary, Root Cause, Timeline, etc.)
  • Placeholder text to guide authors
  • Liquid variables (e.g., {{ incident.title }})
  • Data blocks (/timeline, /followups)
  • Formatting and structure
Templates are configured by administrators in Retrospectives → Document Templates. Contact your admin to create or modify templates.

Liquid Variables

Liquid variables are dynamic placeholders that resolve to actual values from the incident.

Inserting Liquid Variables

  1. Type {{ to start a liquid variable
  2. Continue typing to filter available variables
  3. Select from the autocomplete dropdown
  4. The variable appears as a chip in the editor

Common Variables

Liquid variables display as visual chips in the editor. On publish or export, they resolve to their actual values.

Liquid Blocks

Liquid Blocks are standalone template blocks that support the full Liquid templating language, including conditionals, loops, and complex logic.

Liquid Block vs Liquid Variable

Use Liquid Variables for simple value substitution inline within your text. Use Liquid Blocks when you need conditionals, loops, or multi-line template logic.

Inserting a Liquid Block

  1. Type /liquid to open the slash command menu
  2. Select Liquid Block from the options
  3. Write your Liquid template in the editor panel
  4. Click Preview to see the rendered output with real incident data
  5. Toggle back to Edit to make changes

Example Use Cases

Conditional severity messaging:
Loop through action items:
Conditional content with filters:
Click Preview at any time to see how your template renders with actual incident data. Syntax errors will be displayed with helpful error messages.

When to Use Each

Use Liquid Variables when: Inserting a single dynamic value into a sentence You need a simple inline placeholder Example: “The incident commander is {{ incident.commander.name }} Use Liquid Blocks when: You need conditional logic ({% if %}...{% endif %}) You need to loop over collections ({% for %}...{% endfor %}) You have multi-line template content You need complex formatting with multiple variables Example: Showing different content based on incident severity

@Mentions

Mention users and incidents directly in the document to create clear accountability and cross-references.

Mentioning Users

  1. Type @ anywhere in the editor
  2. Search for a user by name
  3. Select the user from the dropdown
  4. The mention appears as an interactive chip in the document
Hovering over a user mention shows a popover with their avatar, name, email, teams, and incident roles.

Mentioning Incidents

You can also @-mention other incidents to cross-reference related events in your retrospective.
@mentions in the document body are interactive — readers can hover to see details without leaving the editor.

Collaboration

Multiple users can edit the retrospective simultaneously. For full details on collaboration features, see Real-Time Collaboration.

What You’ll See

  • Presence indicators: Avatars/initials of users currently viewing the document
  • Collaborative cursors: Coloured cursors showing where each user is working
  • Real-time updates: Changes from other users appear instantly
  • @mentions: Tag users and incidents inline with interactive popovers

Comments

Select text and click the comment button to start a discussion:
  1. Select the text you want to comment on
  2. Click the comment button in the toolbar
  3. Type your comment and submit
  4. Others can reply, creating a threaded conversation
  5. Mark comments as resolved when addressed
Comments are visible to all collaborators and sync in real-time. Use them for async review and feedback.

Best Practices

  • Use slash commands for speed: Typing / is faster than reaching for the toolbar, especially for common actions.
  • Insert data blocks instead of copying: Timeline and Follow-ups blocks stay in sync with the incident. Manual copy-paste becomes stale.
  • Use templates for consistency: Starting from a template ensures all retrospectives follow the same structure.
  • Add comments for review feedback: Instead of sending feedback in Slack, add comments directly in the document for better context.
  • Use headings to structure content: Clear section headers (Summary, Timeline, Root Cause, Action Items) make retrospectives easier to scan.

Troubleshooting

Make sure your cursor is in an editable area of the document, not inside a data block or at an invalid position. Try clicking in a paragraph and typing / again.
This usually means the block couldn’t fetch data from the incident. Check your network connection and refresh the page. If the problem persists, the incident may not have any data for that block type (e.g., no timeline events or follow-ups).
Ensure you have permission to access retrospective templates. If templates aren’t appearing, contact your administrator to verify templates are configured for your team.
Use Cmd/Ctrl + Z to undo recent changes. You can also access version history to restore a previous version of the retrospective.