> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rootly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Notion

> Connect Notion to Rootly to automatically create and update incident retrospective pages in your Notion workspace.

Rootly's Notion integration automatically creates retrospective pages when incidents occur. Each page is populated with incident details, timeline, and action items — giving your team a single source of truth without manual documentation.

## Features

<CardGroup cols={2}>
  <Card title="Auto-Create Pages" icon="file-plus">
    Retrospective pages are created automatically when incidents resolve or retrospectives begin.
  </Card>

  <Card title="Timeline and Action Items" icon="list-check">
    Incident timeline and follow-up action items are included in every page.
  </Card>

  <Card title="Custom Templates" icon="file-lines">
    Use your own retrospective templates with Liquid variables for dynamic content.
  </Card>

  <Card title="Update Pages" icon="pen">
    Re-generate pages with the latest incident data at any point via workflows.
  </Card>
</CardGroup>

## Before You Begin

<Warning>
  Rootly recommends performing the installation with a **service account** to ensure the integration does not break if the installing user leaves the company. Ensure you are logged in as an **Admin** in Rootly. You will also need Editor or Owner access to the parent Notion page where Rootly will create pages.
</Warning>

## Installation

To connect Notion to Rootly, you will authorize via OAuth and select which Notion pages Rootly is allowed to access. Rootly can only create pages within the pages you explicitly grant access to during this step.

<Steps>
  <Step title="Open Rootly Integrations">
    In Rootly, navigate to **Configuration → Integrations** and search for **Notion**.

    <Frame>
      <img alt="Rootly integrations page with Notion search" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/installation/image-1.1.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=b13aad7441ac152696b6ebf9ac8d8f5a" width="331" height="509" data-path="images/integrations/notion/installation/image-1.1.png" />
    </Frame>

    <Frame>
      <img alt="Notion integration setup button" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/installation/image-1.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=cdaa0a223f991774e120344a07eaeb9a" width="523" height="381" data-path="images/integrations/notion/installation/image-1.png" />
    </Frame>
  </Step>

  <Step title="Authorize in Notion">
    Click **Setup**. You will be redirected to Notion. Click **Select pages** to choose which pages Rootly can access.

    <Frame>
      <img alt="Notion OAuth authorization page" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/installation/image-2.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=453bce0e99139c278c8e22ca7720c4cf" width="499" height="521" data-path="images/integrations/notion/installation/image-2.png" />
    </Frame>
  </Step>

  <Step title="Select Pages">
    Choose the parent pages where you want Rootly to create incident retrospective pages, then click **Allow access**.

    <Frame>
      <img alt="Notion page selection screen" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/installation/image-3.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=08e70f188b41dcb6219e7e52c890818c" width="496" height="624" data-path="images/integrations/notion/installation/image-3.png" />
    </Frame>
  </Step>

  <Step title="Confirm Connection">
    You will be redirected back to Rootly with a success message confirming the integration is connected.

    <Frame>
      <img alt="Rootly showing Notion connected successfully" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/installation/image-3.1.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=edcc823d543e0535cb978317fb4f8c83" width="954" height="485" data-path="images/integrations/notion/installation/image-3.1.png" />
    </Frame>
  </Step>
</Steps>

<Check>
  Your Notion workspace is now connected. You can verify the connection in Notion under **Settings and Members → Connections** — Rootly should appear in the list.
</Check>

## Verify the Connection

After connecting, confirm in Notion that Rootly has been granted access:

1. Open the parent page you selected during authorization
2. Click the **⋯** menu → **Connections**
3. Confirm Rootly appears in the list

<Frame>
  <img alt="Notion connections panel showing Rootly" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/installation/image-4.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=a167ebe466700f7d7a02d11bd15e2ca3" width="792" height="289" data-path="images/integrations/notion/installation/image-4.png" />
</Frame>

## Workflow Actions

Workflows let you automate Notion page creation and updates for incident retrospectives. You can trigger page creation when an incident resolves or a retrospective begins, and populate the page with timeline data, action items, and custom template content using Liquid variables.

| Action                 | Description                                                        |
| ---------------------- | ------------------------------------------------------------------ |
| **Create Notion Page** | Creates a new retrospective page in a specified Notion parent page |
| **Update Notion Page** | Overwrites an existing Notion page with the latest incident data   |

### Create a Workflow

<Steps>
  <Step title="Open Workflow Creation">
    Navigate to **Workflows** in Rootly and click **Create Workflow**.

    <Frame>
      <img alt="Rootly workflows page" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-1.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=0af4bceb98a1c56a5caf16ca11585d6b" width="895" height="322" data-path="images/integrations/notion/workflows/image-1.png" />
    </Frame>

    <Frame>
      <img alt="Create workflow button" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-2.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=a850c44ef9f0b6ecc09fd40ea00a64c9" width="1165" height="578" data-path="images/integrations/notion/workflows/image-2.png" />
    </Frame>
  </Step>

  <Step title="Choose Workflow Type">
    Select the workflow type that matches your use case — **Incident**, **Retrospective**, or **Pulse**.

    <Frame>
      <img alt="Workflow type selection" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-3.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=c7358c141c8f68bb592f3f5fef0e878d" width="1365" height="630" data-path="images/integrations/notion/workflows/image-3.png" />
    </Frame>
  </Step>

  <Step title="Configure Triggers">
    Triggers define when the workflow runs. Choose the event that should kick off page creation.

    <Frame>
      <img alt="Workflow trigger configuration" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-triggers.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=5218bd762ce8971d0e94b817aea19d9e" width="621" height="305" data-path="images/integrations/notion/workflows/image-triggers.png" />
    </Frame>

    | Trigger                     | When it fires                            |
    | --------------------------- | ---------------------------------------- |
    | **Incident Created**        | A new incident opens                     |
    | **Incident Updated**        | Severity, status, or other fields change |
    | **Incident Status Changed** | The incident moves to a specific status  |
    | **Incident Resolved**       | The incident is resolved                 |
    | **Retrospective Started**   | The retrospective process begins         |
    | **Manual Trigger**          | Run on demand from the UI                |
  </Step>

  <Step title="Add Conditions (Optional)">
    Use conditions to control when the workflow fires after the trigger. For example, only create a Notion page for SEV-1 or SEV-2 incidents, or only for specific teams or environments.

    <Frame>
      <img alt="Workflow conditions panel" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-condition.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=6c41c547e82a9ccca8b9e0dfdd606969" width="626" height="334" data-path="images/integrations/notion/workflows/image-condition.png" />
    </Frame>
  </Step>

  <Step title="Add the Notion Action">
    Click **Add Action** and search for **Notion**.

    <Frame>
      <img alt="Add action with Notion search" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-4.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=06b16fddaf92a56f68e0b443a4e84a18" width="677" height="221" data-path="images/integrations/notion/workflows/image-4.png" />
    </Frame>
  </Step>
</Steps>

### Create Notion Page

Use this action to create a new retrospective page in Notion for an incident. The page is created under a parent page you select and is populated using the template and fields you configure.

<Frame>
  <img alt="Create Notion Page action" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-5.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=8003862ab308202491a65b04338d0d0a" width="698" height="382" data-path="images/integrations/notion/workflows/image-5.png" />
</Frame>

<Frame>
  <img alt="Notion page action configuration" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-6.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=a713586e03438e52097a53509cc75c7c" width="594" height="584" data-path="images/integrations/notion/workflows/image-6.png" />
</Frame>

| Field                             | Description                                                                                                                                                        |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Page**                          | The parent Notion page where the new page will be created. Must be a page Rootly was granted access to during installation.                                        |
| **Title**                         | The page title. Supports Liquid syntax — use the incident title or any other variable.                                                                             |
| **Post Mortem Template**          | A pre-built retrospective template from [Retrospective Templates](https://rootly.com/account/retrospective-steps?tab=documents).                                   |
| **Mark Post Mortem as Published** | Set the retrospective status to `published` immediately rather than leaving it as `draft`.                                                                         |
| **Show Timeline as Table**        | Include the incident timeline. Uncheck if you want images to appear inline — Notion does not support images in tables.                                             |
| **Show Action Items as Table**    | Include follow-up action items. Only `follow-up` type items are included — tasks are excluded as they are completed during the incident, before the retrospective. |
| **Skip on Failure**               | Prevent the workflow from stopping if this action fails.                                                                                                           |
| **Enabled**                       | Toggle this action on or off for testing.                                                                                                                          |

### Update Notion Page

Use this action to overwrite an existing Notion page with the latest incident data. This is useful for keeping the retrospective page current as the incident progresses.

<Frame>
  <img alt="Update Notion Page action" src="https://mintcdn.com/rootly/iGk9QgMwzZ9PnoIQ/images/integrations/notion/workflows/image-8.png?fit=max&auto=format&n=iGk9QgMwzZ9PnoIQ&q=85&s=5b7e9f5bad75f44a2f5fd621d25b76a1" width="698" height="382" data-path="images/integrations/notion/workflows/image-8.png" />
</Frame>

<Warning>
  This is an overwrite operation. Any manual changes made to the Notion page will be replaced when this action runs.
</Warning>

| Field                          | Description                                                                                                    |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------- |
| **File**                       | The Notion page to update. Use `incident.notion_page_id` via Liquid to reference the incident's existing page. |
| **Title**                      | Updated page title. Leave blank to keep the existing title.                                                    |
| **Post Mortem Template**       | Template to apply when updating. Overwrites existing content.                                                  |
| **Show Timeline as Table**     | Include the incident timeline.                                                                                 |
| **Show Action Items as Table** | Include follow-up action items.                                                                                |
| **Skip on Failure**            | Prevent the workflow from stopping if this action fails.                                                       |
| **Enabled**                    | Toggle this action on or off for testing.                                                                      |

## Variable Reference

Use these variables in page titles and templates. Use the [Liquid Variable Explorer](https://rootly.com/account/help/liquid-explorer) to test variables with real incident data.

### Incident Variables

| Variable                  | Description                        |
| ------------------------- | ---------------------------------- |
| `incident.title`          | Incident title                     |
| `incident.summary`        | Incident summary                   |
| `incident.severity`       | Severity level (for example, SEV1) |
| `incident.status`         | Current status                     |
| `incident.started_at`     | When the incident started          |
| `incident.resolved_at`    | When the incident was resolved     |
| `incident.commander.name` | Incident commander name            |
| `incident.url`            | Link to the incident in Rootly     |

### Notion Variables

| Variable                   | Description                                                  |
| -------------------------- | ------------------------------------------------------------ |
| `incident.notion_page_id`  | ID of the incident's Notion page — used in the Update action |
| `incident.notion_page_url` | URL to the Notion page                                       |

## Uninstall

**In Rootly:**

1. Go to **Configuration → Integrations** and find **Notion**
2. Click the **Connected** button to reveal the disconnect option
3. Click **Delete**

<Frame>
  <img src="https://mintcdn.com/rootly/QMD-dNqeYW4BA9dg/images/integrations/common/uninstall-connected.png?fit=max&auto=format&n=QMD-dNqeYW4BA9dg&q=85&s=dbb790e2576c8969bba96bc26c95265f" alt="Click the Connected button to reveal the Disconnect option" width="319" height="188" data-path="images/integrations/common/uninstall-connected.png" />
</Frame>

**In Notion** (to fully revoke access):

1. Go to **Settings and Members → Connections**
2. Find **Rootly** and click **Disconnect**

<Info>
  Disconnecting from Rootly does not remove existing Notion pages created by Rootly. Those pages remain in your Notion workspace.
</Info>

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="Rootly is not showing in Notion Connections" icon="file-lines">
    Ensure you granted access to the specific page during OAuth. Go to **Settings and Members → Connections** in Notion to confirm Rootly is listed. If missing, disconnect and reconnect the integration in Rootly. Also check that the page is not in a private or restricted workspace.
  </Accordion>

  <Accordion title="No pages are available during setup" icon="circle-info">
    Notion only shows pages you have Editor or Owner access to. If the workspace has restricted pages, an admin must grant you access first. Try expanding parent pages in the selector to see nested pages, then restart the authorization flow.
  </Accordion>

  <Accordion title="Pages are not being created after running a workflow" icon="plus">
    Verify the parent page selected in the workflow action is one you granted access to during installation. Check workflow run logs under **Workflows → Your Workflow → View Runs** for error details. Re-authorize the integration if the connection has expired.
  </Accordion>
</AccordionGroup>

### Workflow Questions

<AccordionGroup>
  <Accordion title="The workflow ran but no Notion page was created" icon="file-lines">
    Check the workflow run log under **Workflows → Your Workflow → View Runs** for error details. Confirm the parent page selected in the action is one Rootly was granted access to during installation. Re-authorize the integration if the connection has expired.
  </Accordion>

  <Accordion title="Manual edits to my Notion page keep getting overwritten" icon="bell">
    The Update Notion Page action is a full overwrite. If you need to preserve manual edits, disable any workflows that trigger an update on that page, or add conditions to prevent them from running after a certain point in the incident lifecycle.
  </Accordion>

  <Accordion title="Can I use custom Liquid templates for the page content?" icon="code">
    Yes — define a custom retrospective template in [Retrospective Templates](https://rootly.com/account/retrospective-steps?tab=documents) and select it in the Post Mortem Template field. Use the [Liquid Variable Explorer](https://rootly.com/account/help/liquid-explorer) to build and test your template.
  </Accordion>

  <Accordion title="Why are images not appearing in the timeline?" icon="timeline">
    Notion does not support images inside tables. Uncheck **Show Timeline as Table** to render the timeline inline, which will allow images to display correctly.
  </Accordion>
</AccordionGroup>

## Related Resources

* [Workflows](/workflows/workflows)
* [Retrospectives](/retrospectives/retrospectives)
* [Integrations overview](/integrations/overview)
