# Notion: what the assistant can do

> Everything the assistant can do in Notion by text: 8 actions, with example texts, the Notion API call behind each one, and which ones ask first or can be undone.

Source: https://asktack.com/docs/actions/notion/

In Notion, the assistant can find a page or database, add a row to a database, create a page, add a note to a page, update a row, list rows in a database, read a page and switch to a page. You ask by text, in your own words.

**Status:** Built, not open yet. How to connect, permissions and limits: [Notion](https://asktack.com/docs/integrations/notion/).

| What it does | Asks first? | Undo |
|---|---|---|
| Find a page or database | No | – |
| Add a row to a database | If unsure | 10 minutes |
| Create a page | If unsure | 10 minutes |
| Add a note to a page | If unsure | 10 minutes |
| Update a row | If unsure | 10 minutes |
| List rows in a database | No | – |
| Read a page | No | – |
| Switch to a page | No | – |

Asking first and undo follow the same rules for every tool: see [Confirmations and undo](https://asktack.com/docs/confirmations-and-undo/).

## Find a page or database

Finds a Notion page or database by its title and replies with its link.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Notion API call:** `POST /v1/search`
- **Action name:** `notion.find`

**Example texts:**

- "find the Henderson job page in Notion"
- "where's my Leads tracker?"
- "link to the safety checklist in Notion"

## Add a row to a database

Adds a row to a Notion database (a leads tracker, job list or inventory), filling in the columns you name. Details without a matching column go on the row's page.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Notion API call:** `POST /v1/pages`
- **Action name:** `notion.add_entry`

**Example texts:**

- "add Henderson to my Leads tracker, status New, phone 512-555-0142"
- "new row in Jobs: Oak St remodel, start date Nov 2, crew B"
- "put Patel in the Notion leads list, source Google, follow up Tuesday"

## Create a page

Creates a Notion page with your text, under a page you name or as a private page in your workspace.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Notion API call:** `POST /v1/pages`
- **Action name:** `notion.create_page`

**Example texts:**

- "new Notion page under Henderson job called Punch list: touch up trim in hall, replace bath fan cover"
- "make a Notion page 'Site visit 10/24' with: roof looks good, gutter on north side loose"
- "start a page in Notion for the Oak St remodel"

## Add a note to a page

Adds your note to the end of an existing Notion page, such as a job or project page.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Notion API call:** `PATCH /v1/blocks/{id}/children`
- **Action name:** `notion.append_to_page`

**Example texts:**

- "add to the Henderson job page: customer wants matte finish"
- "note on the Oak St remodel page in Notion — tile delivery moved to Friday"
- "put 'gate code 4412' on the Patel page"

## Update a row

Changes one column on a row in a Notion database: a status, select, date, checkbox, number or text.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Notion API call:** `PATCH /v1/pages/{id}`
- **Action name:** `notion.update_entry`

**Example texts:**

- "mark Henderson as Won in my Leads tracker"
- "set the Oak St remodel start date to Nov 4 in Notion"
- "Patel paid: check it off in the Jobs database"

## List rows in a database

Lists the rows in a Notion database, optionally only those with a status, tag, date or other value you name.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Notion API call:** `POST /v1/data_sources/{id}/query`
- **Action name:** `notion.query_database`

**Example texts:**

- "what's in my Leads tracker marked Hot?"
- "which jobs in Notion are In progress?"
- "what's new in the Leads database"

## Read a page

Replies with a Notion page's latest lines and, for a database row, its fields.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Notion API call:** `GET /v1/blocks/{id}/children`
- **Action name:** `notion.read_page`

**Example texts:**

- "what's on the Henderson job page?"
- "read me the latest on the Oak St remodel in Notion"
- "what did we note on the Patel bathroom page"

## Switch to a page

Makes a Notion page your current doc, so the notes you text next go there. Writes nothing.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Notion API call:** `GET /v1/pages/{id}`
- **Action name:** `notion.open_page`

**Example texts:**

- "switch to the Henderson notes"
- "open the Oak St remodel page"
- "go back to the Garcia job notes in Notion"

---

*This list is generated from the code that runs each action, so it's always current.*
