Custom Document
The starting point for any document type that doesn't fit one of our pre-built templates. Define your own fields from scratch.
When to use
Use Custom Document when:
- Your document type has no standard layout (e.g. internal forms, client-specific spreadsheets).
- You need to extract just a handful of specific fields and don't want every default field a pre-built template returns.
- You're prototyping and want to feel out what's extractable before building a production schema.
Defining fields
In the dashboard wizard:
- Click New Extraction → Custom Document.
- Add fields one row at a time. For each field:
- Key — short, lowercase, snake_case (becomes the JSON key).
- Type — string / number / date / boolean / object / list.
- Description — what the field represents.
- Example (optional) — a real value the field might hold; this dramatically improves accuracy.
- For
objectorlist<object>types, click the chevron to define the nested fields.
Example schema — Real estate listing
A minimal custom schema for parsing real estate brochures:
json
{
"name": "Real estate listing",
"fields": [
{ "key": "address", "type": "string", "example": "742 Evergreen Terrace, Springfield" },
{ "key": "list_price", "type": "number", "example": 425000 },
{ "key": "bedrooms", "type": "integer", "example": 4 },
{ "key": "bathrooms", "type": "number", "example": 2.5 },
{ "key": "square_feet", "type": "integer", "example": 2400 },
{ "key": "agent_contact", "type": "object", "fields": [
{ "key": "name", "type": "string" },
{ "key": "phone", "type": "string" },
{ "key": "email", "type": "string" }
]}
]
}Tips
- Start small. Schemas with 5-10 well-defined fields outperform schemas with 30 vaguely-defined ones.
- Use the playground. Upload one document and iterate the schema until you're happy before committing to a batch upload.
- Add examples for any tricky field. A single concrete example often beats 3 sentences of description.