# Lists

A list keeps your records, such as a menu, your team, form replies or bookings, and says who sees what and how it shows. Tell your AI “the soup today is leek and potato”, or type it in the app, and your page shows it within seconds, in your own design.

## Say this to your AI

```prompt
Make the menu on my site a list I can update
```

Then, any day, change it in one sentence:

```prompt
Add Tuesday's special to my menu: mushroom risotto, £14
```

It works the same for a class timetable, your team, products or upcoming events. A class timetable list is one you keep yourself: it isn't filled from the classes on your booking page, so when a class moves, change both.

## Who sees what, and how it shows

| List | Who sees it | How it shows |
|---|---|---|
| **Your own lists:** a menu, a team, events, posts | Everyone who can open the page | In your page's design: items, item pages, a blog |
| **Form replies and bookings** | Only you, and people you allow | Your inbox and calendar in the app |
| **Your app's lists** | Each user sees their own records; in groups, their group's | On your app's pages, for each signed-in user ([Apps](/docs/apps)) |

Who may sign in at all is set by [Sign-in](/docs/sign-in). This page covers your own lists, and form replies and bookings.

## What your AI will ask you

- Which part of your site should become a list, if you have more than one: the menu, the team, the events.
- What each item has: for a menu, the name, a description, the price, a photo and whether it's vegetarian. Your AI suggests these from what's already on the page.
- What the page should say when the list is empty, such as “New dishes soon”.
- Whether to keep the items already on the page or start from new ones.

## What to have ready

- **Your items.** The ones on your page are a good start: your AI can copy them into the list for you.
- **Or a spreadsheet.** If you keep your menu, products or timetable in Google Sheets or Excel, copy the rows and paste them into the list in the app, or save the sheet as CSV (**File** → **Download** or **Save as** → **CSV**) and import it: open the site → **Lists** → the list → **Import CSV**. The first row names the columns, such as Name, Description, Price. You see what will be added before anything is saved.
- **Photos,** if items have them: your AI can give you an upload link.

Nothing else: there's nothing to sign up for and no code to copy.

## What happens

1. Your AI makes the list, with the columns each item has, and shows you every column and item before it saves. Say yes, or say what to change.
2. It marks the part of your page that shows the list. Your design stays exactly as it is: one item is the pattern, and every item in the list is shown in that pattern, in your order.
3. It adds your items and publishes the page once. Your AI opens the page with you and checks the items look right.
4. From then on, a change to the list shows on your site within seconds. It makes no new site version: the design stays as it was, and only the items change.

> **Plans:** lists come with every plan once your site is kept. [See pricing](/pricing).

The number counts all the site's own lists together. Form replies and bookings don't count; an item you copy from them onto your site does. A site launched without signing in has no lists until you keep it.

## Change it by asking

Ask your AI, in your own words:

```prompt
Mark the lamb tagine as sold out and move the risotto to the top
```

```prompt
Hide the summer menu for now
```

Your AI changes the items and tells you what it did. Your page shows the change within seconds.

## Change it in the app

Open the Page Lemon app: **Sites** → your site → **Lists**. Your own lists are under **Your lists**; form replies and bookings are under **Form replies and bookings** (below). Pick a list to see its items as a table, a bit like a spreadsheet:

- **Type in a cell** to change it. It saves when you leave the cell, and says **Saved · on your site in a few seconds**.
- **+ New item** adds a row.
- **Paste** a block of rows from Google Sheets or Excel. A cell that doesn't fit its column (a price with letters in it) is marked in red with the reason; the rest are saved.
- **Filter** to find items, **drag** an item to change its order on your page, or select items to remove them.
- **Show on site:** each item has a yes or no. Untick it to hide an item from your site without removing it, such as a dish that's off today.
- Use the column menu to rename a column, change its kind or remove it.
- **Export CSV** downloads the list as a spreadsheet.

If someone else changes the list while you have it open, the changed items flash and say who changed them. On a phone, each item opens as a card.

## Show part of a page from a list

A list doesn't have to look like a list. Any spot on a page can come from one, such as today's specials on your home page, or your opening hours, phone number and address in the footer of every page. Say which spots, in your own words:

```prompt
These 3 fields on this page come from my table: the opening hours, the phone number and the address
```

Your AI first shows you what it found on the page: the columns and the items. After your yes, it makes the list (here, one item with those three columns) and marks those spots on your page. From then on, change them in the list and every page that shows them follows within seconds.

## Show only some items

One list can appear in several places, each showing only the items it needs. Ask your AI:

```prompt
On my home page, only show today's specials
```

```prompt
Show events from today on, soonest first, and only the next 3 on the home page
```

- Your AI can pick items by any column: a category, a price, a tag, yes or no, a date or a day of the week (“only vegan dishes”, “everything under £10”, “the Saturday menu on Saturdays”).
- **Lists that depend on the date update themselves.** “Events from today on” drops yesterday's event just after midnight (in your site's time zone), with nothing for you to do. When a time matters, it's to the minute: an event that starts at 7 pm leaves “what's on now” at 7 pm, and a post you date for 9 am tomorrow appears at 9 am.
- **Open now:** keep your opening hours as a list (a day, an opening time and a closing time per row) and ask your AI to “show whether we're open now”. The page says “Open until 17:00” or “Closed now”, and changes by itself at each opening and closing time. It goes by your site's time zone for every visitor, so someone abroad sees whether you are open where you are.
- If your AI writes a rule Page Lemon can't read, nothing breaks: that spot shows all its items, and your AI is told what to fix.

## Sort

Each place can have its own order, whatever the order in the list:

```prompt
Sort the events by date, soonest first, and the team by name
```

Newest first, cheapest first or A to Z all work. Items with nothing in that column come last. Without a sort, your page follows the list's own order, which you set by dragging in the app.

## Formats

Your AI can choose how each value reads on the page:

```prompt
Show prices as £6.50 and dates as Saturday, 24 October
```

- **Dates:** short (24 Oct 2026), long (24 October 2026), with the day (Saturday, 24 October 2026), just the month, just the day, the time, or “3 days ago” and “in 2 days”. “3 days ago” stays right: the page updates itself every night.
- **Numbers and prices:** whole numbers, a set number of decimals, short forms such as 1.2K, or percentages.
- **Long text:** cut to a number of characters, at a word, with “…”, such as a short preview of each blog post.
- Everything is written in your page's language: a French page shows “24 octobre 2026”.

## Make a blog

Lists can give each item a page of its own, which is all a blog needs: a list of posts, a page that lists them, and one page per post.

```prompt
Add a blog to my site, with its own page for each post
```

1. Your AI asks what each post has: usually a title, a date, a short summary, a photo and the post itself. It also asks where the blog goes (`/blog` unless you say otherwise).
2. It shows you the plan, then makes a **Posts** list, a blog page listing the newest posts, and one post page design that every post uses.
3. Each post gets its own address, made from its title, such as `yoursite.com/blog/our-autumn-menu`. The address stays the same when you change the title. If you change the address itself, the old one still leads to the post.
4. Write a post by asking (“Write a post about our autumn menu, in my words, and show it to me first”), or paste your text into the list in the app. It shows on your site within seconds, with its own page.
5. To keep a post as a draft, untick **Show on site**: it has no page and isn't listed until you tick it again.

**Formatting in a post:** the post text can have headings, **bold** and *italic*, links, bulleted and numbered lists, quotes, pictures with captions and short bits of code. Anything else, such as colours, fonts or embedded videos, is left out, so a post always looks like the rest of your site.

**Getting found:** each post page has its own title and description for search engines and for sharing on social media, and is in your site's sitemap. People who use a news reader app can follow the blog at `/blog/feed.xml`.

## A custom page for one post

Every post gets the blog's post page, but one can have a page of its own, such as a special event with its own design:

```prompt
Give the truffle dinner its own page, in a different design, and link to it from the events list
```

Your AI makes the page, and the item then links there everywhere it's listed. Ask your AI to stop using it and the item goes back to the usual post page.

## Link lists

An item in one list can link to items in another list of the same site, with a **Link to another list** column. Your AI sets it up when you ask:

```prompt
Give each blog post an author, with the author's photo and a page for each author listing their posts
```

- **A post and its author:** an **Authors** list holds each author's name, photo and short bio. Each post links to one author, and the post shows the author's name and photo. Change an author's photo once and every post shows the new one.
- **An author's page:** each author can have a page that lists the posts linked to them, newest first.
- **A menu grouped by category:** a **Categories** list (Starters, Mains, Desserts), in the order you like. Each dish links to its category, and the menu page shows each category's heading with its dishes under it. A category with no dishes is left out.
- **Tags:** a post or a product can link to several items at once, such as tags or ingredients.
- **Linking by name:** you and your AI link items by name (“the author is Maria Lopez”). In an import, a link column holds names, such as `Maria Lopez`, or several separated by `;`. A name that matches nothing or more than one item is shown in the preview to fix first.
- **Removing a linked item** removes the links to it too, in one change: removing an author leaves their posts without an author. **Undo** brings the author and the links back.
- A list that other lists link to can't be deleted until those links are changed. A hidden item (**Show on site** off) isn't shown through a link either.

## Undo, Changes and Recently removed

- **Undo:** every change to your lists can be undone. The app shows **Undo** after each change, and you can ask your AI (“put the old price back”, “undo that”). Changes to your own columns on form replies and bookings (Notes, Tags, Progress) can't be undone and aren't in **Changes**: to put one back, change it again.
- **Changes:** each list has a **Changes** history: who changed what and when, with the old and new value and an **Undo** on each.
- **Recently removed:** a removed item waits there for 30 days. **Restore** puts it back where it was.
- **A deleted list** can be brought back with **Undo** for 30 days too. Until then, pages that showed it show it as empty.
- **Bringing back an earlier site version** (the site's **Settings** → **Versions & backup**) brings back your design: the pages, words and pictures. Your lists keep their current items, so the menu doesn't jump back to last month's prices. To put items back, use Undo or Recently removed.

## Form replies and bookings

Replies from your forms and your bookings appear in the Lists tab too, as private lists under **Form replies and bookings**. They are never on your site.

- **Form replies** open as your inbox, as before: **Reply by email**, mark them read, **Archive**, **Spam** or **Bin**. On a phone, **Select** lets you pick several replies at once. A **List** switch shows them as a list with columns.
- **Bookings** keep their name and open on the week calendar, as before. **Approve**, **Move**, **Cancel**, **Done** and **No-show** work with their own buttons, and your customers still get their emails. **List** shows them as a list, with filters such as Today, This week and Requests, and one for each staff member and service.
- **Sent by the visitor:** the columns your visitor filled in are locked (they have a lock and a tinted background). Nobody can change what a visitor sent.
- **Your own columns:** **Add a column** adds columns only you see, such as **Notes**, **Tags** or **Progress** (To do, In progress, Done). Changing them sends nobody an email and changes nothing in the booking.
- Your AI can read them too (“Any new enquiries this week?”, “Who's booked tomorrow?”) and fill in your own columns (“Tag Grace's reply as wedding”).

### Show a visitor's words on your site

To put a review or a thank-you note on your site, open the reply and use **Copy to a list**:

1. Pick one of your own lists, such as Testimonials, and which answer fills each column, usually the message field and the person's first name. Click **Preview**.
2. Page Lemon shows exactly the words that will appear on your site. Tick that you have the person's permission and click **Copy**.

Email, phone, link, date and time answers and where the visitor came from are never copied, and a name is cut to its first word. Other answers can still hold personal details, so read them before you copy. The copy is a new item in your list: changing the message later doesn't change it.

Your AI can do the same ("Put Grace's reply on my reviews page"). It shows you the words first and asks whether you have the person's permission, and copies only after your yes.

If the person changes their mind, erase their data in **Privacy requests**: the copies go from your site with it.

## Import and export

- **Ask your AI to import:** give it a spreadsheet or paste the rows (“import these 40 products into my products list”). It shows you what it will add and change, and anything that doesn't fit, before it saves.
- **Import CSV** or **paste** in the app: you see a preview first (how many items will be added or changed, and any cell that doesn't fit, with the row), then click to save. Rows with an item's `id` (from an export) change that item; other rows are added. Items not in the file stay.
- One **Undo** takes back a whole import.
- It's a one-off: the spreadsheet doesn't stay connected, and later changes in it don't come to Page Lemon.
- **Export CSV** downloads a list, any time.
- To add items from Zapier, Make or a script, see [Use your lists in other apps](/docs/lists-connect).

## Use your own JavaScript with the JSON feed

If you or a developer build something on your site with JavaScript, such as a map of your shops or a filter, it can read a list as JSON:

```prompt
Turn on the JSON feed for my events list, with the name, date and place
```

Or in the app: open the list, and on the **Share a list** card, under **Public JSON feed**, click **Turn on** and pick the columns.

- It's off until you turn it on, for one list at a time, and holds only the columns you choose. Form replies and bookings never have one.
- The address is on your own site, such as `yoursite.com/_pl/lists/events.json`, so anyone can read it, like your pages. On a site behind a passcode or invite-only, it's behind it too.
- The JSON feed contains the selected fields of visible items that pass its feed condition. If no condition is supplied, it uses applicable publication-date conditions from the site's pages; it can otherwise include items even when no page currently displays them. Check the feed before sharing its address.
- It updates within seconds of a change. Turn it off at any time (**Turn off** on the same card), or ask your AI.

## Good to know

- **The same list in several places:** your AI can show the same list on more than one page, such as the 3 latest events on your home page and all of them on the events page.
- **Templates come with lists:** a template's menu or timetable becomes a list when you keep the site. Until then it shows the template's sample items.
- **A list no page shows yet** changes nothing on your site. Ask your AI to put it on a page.
- **Who can change them:** Site Developers, and in a workspace everyone who can change the site (Admins, Developers and groups with **Change the site**), can change your own lists. Site Viewers and groups with only **View the site** can only look.
- **Who sees visitor lists:** only people who may read your form replies: you as the site's owner, and in a workspace the Workspace Owner, Admins and groups with **View users**. Everyone else doesn't see them at all.
- **Lists are yours to take:** **Download everything** includes every list as a spreadsheet. See [Leaving Page Lemon](/docs/leaving).

## What lists are not

- **Not where your users' records start.** Records your users add live in your [app's](/docs/apps) lists, set up with the app.
- **Visitors can't add to your lists.** They can only send you something through [a form](/docs/forms) or [a booking](/docs/bookings), which arrives in its own private list.
- **Not two-way with a spreadsheet yet.** You can show a list in Google Sheets or change it from another tool, but changes made in your sheet don't come back to Page Lemon by themselves.

Something not right? See [Fix a problem](/docs/fix-a-problem).

For AI assistants: the setup guide is at [pagelemon.com/agents/lists](https://pagelemon.com/agents/lists).
