Collections Tools
Collections are schemas plus items. They are the right tool for any content that:
- Has a repeating structure (blog posts, team members, products)
- Needs to be listed and individually linked
- May grow over time
Field types
Section titled “Field types”| Type | Use for |
|---|---|
text | Short strings |
textarea | Multi-line plain text |
richtext | HTML body content |
date | ISO 8601 date |
number | Numeric values |
boolean | True/false toggle |
image | CDN image URL |
url | Web address |
select | Dropdown — provide options: [...] |
Field name rules
Section titled “Field name rules”Field names must be lowercase ASCII — [a-z][a-z0-9_-]*. The label (displayed in the portal UI) can be any text.
| Wrong | Right |
|---|---|
Titel | title |
Datum | date (or datum — fine, it’s ASCII) |
Författare | forfattare |
create_collection
Section titled “create_collection”Defines the collection schema. Once items exist, avoid renaming fields — it doesn’t migrate existing data.
Important options:
slug_field— which field is used for URLs (typically"slug")sort_field+sort_dir— default sort for listingsroute_template— URL pattern for individual items:"/blog/{slug}"
create_collection_item
Section titled “create_collection_item”Adds an item to the collection with its field values.
Add a blog post: "Vår designfilosofi" — slug "var-designfilosofi",published 2025-05-15, author Anna Lindström, excerpt "Vi tror på enkelhet..."list_collection_items
Section titled “list_collection_items”Returns all items in a collection. Claude uses this to regenerate listing HTML when new items are added.
update_collection_item
Section titled “update_collection_item”Updates one or more fields on an existing item.
delete_collection_item
Section titled “delete_collection_item”Deletes an item. The listing page will need to be regenerated afterwards.
Listing pages
Section titled “Listing pages”Since Typeroll generates a static site with no template engine, listings are HTML pages Claude writes from the current collection items. When items change, Claude:
- Fetches the updated item list via
list_collection_items - Regenerates the listing HTML
- Updates the listing page via
update_page
This is explicit and intentional — you get full control over the listing design.