Presets
Create reusable naming patterns with Templates and Custom Prompts for consistent, structured filenames.
Presets are reusable naming configurations that ensure consistent filenames across similar documents. Define once, apply to hundreds of files.
NameQuick offers two types of presets:
- Templates: Structured extraction with defined fields and a visual pattern builder
- Custom Prompts: Freeform AI instructions for flexible naming
Use Templates when you need predictable, validated filenames (invoices, contracts, receipts). Use Custom Prompts when you want creative flexibility or are still figuring out your naming style.
Templates#
Templates are the structured path to consistent naming. You define what to extract, and NameQuick builds filenames that always follow your pattern.
The Mental Model#
Here's how templates work:
- You define fields in natural language ("Invoice Date", "Client Name", "Total Amount")
- AI extracts values from your file's content
- Values are validated against hallucinations and missing data
- Pattern assembles the filename from your fields and separators
The result: every invoice follows the same structure, every receipt is named consistently, every contract is findable.
Extraction Fields#
Fields are the heart of templates. You write them in plain English, and the AI uses your field names as extraction instructions.
Good field names are specific:
| Instead of... | Write... |
|---|---|
| "Date" | "Invoice Date" or "Date in top-right corner" |
| "Amount" | "Total Amount Due" or "Final balance after tax" |
| "Name" | "Client Company Name" or "Vendor from letterhead" |
Give hints when helpful:
- "Invoice number (usually starts with INV-)"
- "Date the document was signed"
- "Total including tax, formatted as currency"
The more specific your field names, the better the extraction. The AI reads them as instructions for what to find.
The Pattern Builder#
Templates use a visual pattern builder with drag-and-drop pills:
Three pill types:
| Pill Type | Color | What It Is |
|---|---|---|
| User Fields | Teal | AI-extracted values from your file |
| System Placeholders | Gray | Built-in tokens like {date}, {counter} |
| Custom Text | Orange | Literal text you type, like "Invoice-" |
Building patterns:
- Drag pills to reorder them
- Click the gap between pills to change the separator
- Available separators: underscore
_, hyphen-, period., space, or custom
Example pattern:
[Invoice-] [Invoice Date] [_] [Vendor] [-] [Invoice Number]
orange teal teal teal
Result: Invoice-2024-03-15_Amazon-INV-4711.pdf
Separators#
Each gap between pills can have its own separator. This lets you create complex patterns:
[Company]_[Date]-[Type].[Extension]
↑ ↑ ↑
underscore hyphen period
Word Separators (Within Fields)#
You can customize how multi-word values appear within each field. Click the small separator indicator on any teal user field pill to access the word separator menu.
Example: If AI extracts "Acme Corporation":
| Word Separator | Result |
|---|---|
| Hyphen | Acme-Corporation |
| Underscore | Acme_Corporation |
| Period | Acme.Corporation |
| None | AcmeCorporation |
Each field can have its own word separator, or use the template default.
System Placeholders#
System placeholders insert metadata that doesn't need AI extraction:
| Category | Placeholders |
|---|---|
| Date/Time | {date}, {time}, {datetime}, {year}, {month}, {day}, {hour}, {minute} |
| File Info | {original}, {extension}, {parent}, {size}, {dimensions} |
| Sequence | {counter} |
Date formatting:
Customize date format with a colon:
{date:yyyy-MM-dd} → 2024-03-15
{date:MM-dd-yyyy} → 03-15-2024
{date:yyyyMMdd} → 20240315
{datetime:yyyy-MM-dd_HH-mm} → 2024-03-15_14-30
Transformations#
Transformations modify extracted values after AI extraction but before the filename is assembled. You write them in natural language.
Two Scopes#
Field-specific transformations apply to individual values:
- "Make vendor name lowercase"
- "Format invoice date as YYYY-MM-DD"
- "Remove currency symbols from amount"
Global transformations apply to the assembled filename:
- "Replace all spaces with hyphens"
- "Remove special characters"
- "Convert entire filename to lowercase"
Execution Order#
Transformations run in a specific order:
- Field transforms execute first (per field)
- Pattern assembles from transformed values
- Global transforms run on the assembled result
This means you can normalize each field individually, then clean up the final filename.
Examples#
| Instruction | Before | After |
|---|---|---|
| "Convert to lowercase" | Apple Inc. | apple inc. |
| "Convert to uppercase" | invoice | INVOICE |
| "Replace spaces with hyphens" | March 15 2024 | March-15-2024 |
| "Format as YYYY-MM-DD" | March 15, 2024 | 2024-03-15 |
| "Remove special characters" | INV#4711 | INV4711 |
| "Limit to 30 characters" | Very Long Document Title... | Very Long Document Title... (truncated) |
| "Extract numbers only" | INV-4711-A | 4711 |
Testing Templates#
Before applying a template to real files, test it.
Preview Mode#
- Open your template in the editor
- Drop a sample file into the test area
- AI extraction runs in preview mode (no credits consumed)
- See the result: Original filename → Generated filename
The preview shows exactly what the AI extracted for each field and how the final filename was assembled.
Validation#
NameQuick validates templates to prevent bad renames:
- Missing fields: If a required field can't be extracted, the rename is blocked
- Hallucination detection: If the AI returns instructions instead of values ("convert to lowercase" instead of an actual value), it's caught
- Invalid characters: Filesystem-unsafe characters (
/,<,>,:,",|,?,*) are flagged - Unknown placeholders: Typos in placeholder names are detected
Iterating#
If extraction isn't working:
- Adjust field names - Make them more specific or add hints
- Add transformations - Fix formatting issues after extraction
- Test with different files - Make sure your template works across file sources
Advanced Features#
Field Conditions#
Extract a field only when a condition is true:
Example: Only add a "PRIORITY" prefix when invoice amount exceeds $10,000:
- Field: "Priority Label"
- Condition:
invoice_amount is greater than 10000 - If true: Extracts "PRIORITY"
- If false: Field is skipped
Supported operators:
| Category | Operators |
|---|---|
| Equality | equals, is, is not, != |
| Comparison | is greater than, >, is less than, < |
| String | contains, starts with, ends with, matches (regex) |
| Empty | is empty, is not empty, has value |
| Date | is today, is this week, is before, is after |
Fallback Chains#
When extraction might fail, define fallback attempts:
Example: Extract client name with graceful degradation:
- First try: "Extract company name from letterhead"
- Second try: "Extract company name from signature block"
- Third try: "Extract any company name mentioned"
- If all fail: Use default value "Unknown-Client"
Fallbacks are tried in order. The first successful extraction wins.
Computed Fields#
Derive values from other fields:
Example: Combine first and last name:
- Field: "Full Name"
- Formula: "Concatenate first_name and last_name with a space"
- Dependencies:
first_name,last_name - Result: "John Smith"
Computed fields let you restructure extracted data without additional AI calls.
Template Rules#
Template Rules apply business logic during filename generation. They're different from file organization Rules—Template Rules modify the naming process, not file locations.
When to Use Template Rules#
- Add prefixes/suffixes based on extracted values
- Transform specific fields conditionally
- Skip fields when conditions aren't met
- Modify the entire filename based on content
Rule Structure#
Each rule has three parts:
- Condition: When the rule applies (e.g., "amount > 10000")
- Action: What happens (e.g., "add prefix PRIORITY-")
- Timing: When in the process it runs
Timing Phases#
Rules execute at specific points:
| Timing | Description | Use Case |
|---|---|---|
| After Extraction | After AI extracts fields, before transforms | Modify raw extracted values |
| Before Assembly | Before pattern builds the filename | Add/remove fields, change pattern |
| After Assembly | After filename is assembled | Final cleanup, global transforms |
Actions#
Field-scoped actions (apply to one field):
- Transform the value
- Add prefix or suffix
- Replace entirely
- Skip from filename
Global actions (apply to assembled filename):
- Transform all fields
- Modify the pattern
- Change separator
- Add or remove fields
Example: Priority Invoice Prefix#
Add "PRIORITY-" to invoices over $10,000:
- Condition:
invoice_amount is greater than 10000 - Action: Add prefix "PRIORITY-"
- Timing: After Assembly
Result: PRIORITY-2024-03-15_Amazon_INV-4711.pdf
Example: Skip Field When Empty#
Don't include purchase order number if it doesn't exist:
- Condition:
po_number is empty - Action: Skip field
- Timing: Before Assembly
Result: PO field omitted from filename instead of showing "unknown" or blank.
Template Rules vs Document Rules#
| Aspect | Template Rules | Document Rules |
|---|---|---|
| Purpose | Modify filename generation | Organize files on disk |
| Actions | Transform, prefix, skip fields | Move, tag, archive, trash |
| Timing | During name assembly | Before/after AI processing |
| Scope | Inside a template | Across Watch Folders |
Use Template Rules for naming logic. Use Document Rules for file organization.
Custom Prompts#
Custom Prompts are the flexible alternative to Templates. Instead of defined fields, you write freeform instructions.
When to Use Custom Prompts#
- Creative naming: "Name this photo with the mood and primary colors"
- Experimenting: You're not sure what structure you want yet
- Simple needs: You just want "make it descriptive" without field definitions
- First step: Try a prompt before graduating to a stricter Template
Creating a Custom Prompt#
- Open the sidebar and go to Presets
- Click New and choose Custom Prompt
- Write natural-language instructions
- Preview on sample files, then save
Example Prompts#
For photos:
Name this photo with the location and main subject, separated by hyphens. Use lowercase. If it's a screenshot, prefix with "screenshot-".
For documents:
Create a filename with the document type, date, and key topic. Keep it under 50 characters.
For receipts:
Name as: date_merchant_amount. Format date as YYYY-MM-DD. Remove currency symbols from amount.
Custom Prompts are a reusable "style guide" for your files. They're great when you want AI flexibility without strict field definitions.
Example Walkthrough: Invoice Template#
Let's build a complete invoice template from scratch.
1. Define Fields#
Add these fields to your template:
- Invoice Date - "The date the invoice was issued"
- Vendor Name - "Company or person who sent the invoice"
- Invoice Number - "The invoice ID or reference number"
- Total Amount - "Final amount due including tax"
2. Build the Pattern#
Arrange pills in order:
[Invoice Date]_[Vendor Name]_[Invoice Number]_[Total Amount]
3. Add Transformations#
- "Format Invoice Date as YYYY-MM-DD"
- "Make Vendor Name lowercase"
- "Replace spaces with hyphens in final filename"
4. Test#
Drop a sample invoice. You should see:
| Field | Extracted Value |
|---|---|
| Invoice Date | March 15, 2024 → 2024-03-15 |
| Vendor Name | Amazon Web Services → amazon-web-services |
| Invoice Number | INV-4711 |
| Total Amount | $156.99 |
Final filename: 2024-03-15_amazon-web-services_inv-4711_156.99.pdf
5. Apply#
Once tested, apply your template to a folder of invoices. Every file gets named consistently.
Using Presets with Watch Folders#
Combine Presets with Rules for fully automated workflows:
- Set up a Watch Folder for incoming files
- Assign your Preset as the processing mode
- Add rules to organize files after renaming
New files are renamed automatically using your template, then moved to the right folders based on extracted values.
FAQ#
Can I convert a Custom Prompt to a Template? Not automatically, but you can use a Custom Prompt to understand what structure works for your files, then create a Template with those fields.
What if the AI can't extract a field? If a required field is missing, the rename is blocked to prevent incomplete filenames. Use fallback chains or mark fields as optional to handle edge cases.
Do transformations use AI? Transformations are sent as instructions to the AI alongside extraction. They're processed in the same API call, not separately.
Can I use both AI fields and system placeholders?
Yes. Mix them freely: {Vendor Name}_{date}_{Invoice Number}