The problem
Friday sends your agent an “enriched prompt” - a markdown string containing:- The user’s task
- Temporal facts (current time, relevant history)
- Signal data (HTTP request body, cron metadata)
- Accumulated context from previous steps
Simple JSON Extraction
Useparse_input() to extract a JSON object from the prompt:
Extraction Strategy
parse_input() searches in this order:
- Raw JSON objects - Scans for balanced-brace JSON objects
- Code-fenced blocks - Extracts from
```json ... ``` - Full prompt - Attempts to parse the entire prompt as JSON
Discriminated Operations
When your agent handles multiple operations, useparse_operation():
Plain Dict Extraction
Without a dataclass, get a plain dict:Validation Errors
When using dataclasses, missing required fields produce clear errors:Real Example: Jira Agent
When to Use Which
| Function | Use When |
|---|---|
parse_input(prompt) | Single configuration, no discriminated types |
parse_input(prompt, Schema) | Single configuration, want typed validation |
parse_operation(prompt, schemas) | Multiple operations via "operation" discriminator |
Parse utilities reference
Full API reference for parse_input() and parse_operation().

