File Attachments
Attach documents to transactions, assets, and entities with AI-powered content extraction and searchable metadata
Overview
Artifi's attachment system lets you attach files -- invoices, receipts, contracts, photos -- to any entity type through natural conversations with Claude. The system combines AI-powered content extraction with frictionless file uploads, making all document content immediately searchable.
Key Features
- AI-First: Claude analyzes documents and extracts text, amounts, dates, and metadata automatically
- Universal: The same attachment pattern works across bills, invoices, assets, expenses, journals, and more
- Two-Path Upload: Metadata is captured immediately; the original file can be uploaded asynchronously via a simple link
- Searchable: Full-text search across all extracted content and metadata
How It Works
The attachment flow is designed around immediate value and minimal friction:
User uploads a file to Claude
|
Claude analyzes the document (vision/OCR)
|
Claude creates the transaction + attachment with extracted metadata
|
Claude generates a temporary upload link for the original file
|
User clicks the link and uploads (no login required)
|
Original file stored securely; attachment record updated
Why This Pattern?
- Immediate value -- Claude extracts all content right away, making it searchable before the original file is even uploaded
- No friction -- The upload link requires no login; just click and drop
- Async upload -- Users can upload the original file at their convenience
- Complete audit trail -- Both the extracted content and the original file are preserved
Supported Entity Types
Attachment Types
Attachment Operations
Create Attachment
Create an attachment record linked to any entity. Claude typically handles this automatically when processing a document, capturing:
- Entity type and ID (what the attachment is linked to)
- File name and content type
- Extracted text (from OCR or document analysis)
- Extracted amounts (totals, tax, subtotals)
- Extracted metadata (vendor name, invoice number, dates)
- Attachment type and descriptive tags
Generate Upload Link
After creating the attachment record, a temporary upload link is generated:
- Time-limited (default 15 minutes, maximum 60 minutes)
- Single-use (deleted after successful upload)
- Bound to the specific attachment record
- No authentication required -- just click and upload
Confirm Upload
After the file is uploaded, the attachment record is updated with:
- File size and content hash (SHA256 verification)
- Storage location
- Confirmation status
Delete Attachment
Attachments can be soft-deleted, with an option to also remove the file from storage.
Upload Link Security
Upload links are designed to be secure while remaining frictionless:
- Token-based access -- Links use cryptographically secure tokens (32 bytes)
- Time-limited -- Tokens expire after a configurable period (default 15 minutes)
- Single-use -- Each token is deleted after a successful upload
- Entity-bound -- Tokens are tied to a specific attachment record
Searchable Content
All content extracted by Claude is searchable across your organization:
This means you can search for an invoice by vendor name, amount, date, or any text that appeared in the document -- without needing to open or download the original file.
Example: Complete Invoice Flow
User uploads invoice.pdf to Claude
Claude responds:
I've analyzed the invoice from Acme Corporation:
- Invoice #: INV-2025-001
- Amount: $5,432.10
- Due Date: February 14, 2025
I've created AP invoice #AP-0123 and captured all the details.
To attach the original PDF, click here: [Upload Link] (expires in 15 minutes, no login required)
User clicks the link and uploads the file.
Result:
- All invoice content is searchable immediately
- The original PDF is preserved in secure storage
- A complete audit trail is maintained
Storage
Files are stored in Cloudflare R2, organized by organization, entity, and entity type. Storage costs are minimal:
A typical small business can expect approximately $0.22/month in attachment storage costs.
Best Practices
- Always extract content -- Let Claude analyze every document for text, amounts, dates, and metadata before attaching
- Create the attachment record first -- Capture extracted content immediately, then generate the upload link
- Provide the upload link -- Always give users the option to attach the original file
- Use descriptive tags -- Tags make it easier to filter and find attachments later
- Include clear instructions -- Let users know the link expires and no login is required