# Core concepts

> Snippets, folders, blocks, Fields, Smart Fields, Transforms, and AI actions: what each one is, and how they work together.

SimpleFill has a handful of core features. Each one is simple on its own, and they work together. This page explains what each one is and how they relate, so the rest of the docs make sense.

## The big picture

Think of a snippet as a letter you send often. **Blocks** are paragraphs you reuse across letters. **Fields** are the blanks you fill in each time. **Smart Fields** are blanks SimpleFill fills in for you. **Transforms** tidy up whatever goes into a blank. And **AI actions** rewrite the finished text for you.

| Feature | What it is | Example |
| --- | --- | --- |
| [Snippet](https://simplefill.app/docs/snippets) | Saved text you insert with a shortcut, menu, or search | `;sig` inserts your email signature |
| [Folder](https://simplefill.app/docs/folders) | A group of snippets | *Support replies*, *Personal* |
| [Block](https://simplefill.app/docs/blocks) | A reusable piece you put inside snippets | Your company address, used in 10 templates |
| [Field](https://simplefill.app/docs/fields) | A blank you fill in when the snippet goes in | The customer’s first name |
| [Smart Field](https://simplefill.app/docs/smart-fields) | A blank SimpleFill fills in for you | Today’s date, the page’s link |
| [Transform](https://simplefill.app/docs/transforms) | A step that reshapes a value | `ram patra` becomes `Ram Patra` |
| [One-click form fill](https://simplefill.app/docs/form-fill) | A whole form’s answers, saved and filled in one click | Your shipping address form |
| [AI action](https://simplefill.app/docs/ai-actions) | A prompt that rewrites text in place | Fix grammar, translate, summarize |

## Snippets: the heart of it

Everything starts with a snippet. A snippet has a **Name** (so you can find it), an optional **Shortcut** (so you can type it), and a **Value** (what gets inserted).

A value can be **plain text** or **rich** content. Rich content can have formatting, images, tables, and, most importantly, *pills*: the Fields, Smart Fields, and Blocks that make a snippet dynamic.

## Blocks: write once, reuse everywhere

A Block is a piece of content you reuse inside snippets, like a legal disclaimer or your office address. In a rich snippet, type `@` and pick the Block. Change the Block later, and every snippet that uses it changes too.

Blocks don’t have shortcuts. You never insert a Block directly; it always lives inside a snippet.

## Fields: blanks you fill in

A Field marks the part of a snippet that changes each time. When you insert a snippet with Fields, SimpleFill opens a small window showing the whole snippet with a box in place of each Field. Fill them in, press **Insert**, and the finished text goes into the page.

Fields come in five types: **Text**, **Textarea**, **Dropdown**, **Multi-select**, and **Date**. In a rich snippet, type `{{` to add one.

## Smart Fields: blanks SimpleFill fills in

Smart Fields fill themselves in when the snippet is inserted: today’s date, the current time, the page’s title or link, what’s on your clipboard. You can put them inside snippets, or type them directly on any page, like `;date` or `;url`.

[Add-ons](https://simplefill.app/docs/add-ons) from the marketplace add Smart Fields for specific websites, such as the name of the LinkedIn profile you’re viewing or the GitHub issue you’re on.

## Transforms: the finishing touch

A Transform changes a value before it goes in. You can capitalize a name, turn a title into a URL slug, add seven days to a date, or format it exactly how you like. Chain them with `|`, and they run in order:

```
{{page.title | slugify | truncate(40)}}
```

## How it all comes together

Here’s one snippet using almost everything above:

```
Hi {{first-name | titleCase}},

Thanks for your time today. As promised, here’s the recap of our call
about {{page.title}}. I’ll follow up again on {{date | addBusinessDays(3)}}.

@signature
```

- `{{first-name | titleCase}}` is a **Field** with a **Transform**. You type `jane`, and it goes in as `Jane`.
- `{{page.title}}` is a **Smart Field**. It fills in with the title of the page you’re on.
- `{{date | addBusinessDays(3)}}` is a **Smart Field** with a **Transform**: the date three working days from today.
- `@signature` is a **Block** with your signature.

Then, if you want, select the result and run the **Make Professional** [AI action](https://simplefill.app/docs/ai-actions) on it.

## Ways to insert anything

However you build it, every snippet can go in four ways:

- **[Shortcut expansion](https://simplefill.app/docs/shortcut-expansion)**: Type `;` and its shortcut, then Space.
- **[Auto-suggestions](https://simplefill.app/docs/auto-suggestions)**: Pick it from the dropdown that appears as you type.
- **[Quick Access](https://simplefill.app/docs/quick-access)**: Search for it with one keyboard shortcut.
- **[Right-click menu](https://simplefill.app/docs/right-click-menu)**: Choose it from the browser’s own menu.

Source: https://simplefill.app/docs/core-concepts
