Voice-to-JSON Task Parser
Extract structured to-do items from voice transcripts and meeting notes
/api/parse-tasks
What This API Does
Transforms unstructured voice transcripts and meeting notes into structured JSON task lists. Detects 60+ action verbs, extracts deadlines, identifies priorities (high/medium/low), and resolves assignees from @mentions and name patterns. Filters out conversational chatter to focus only on actionable items.
Description
The Voice-to-JSON Task Parser uses a multi-layer NLP pipeline built entirely with regular expressions—no machine learning required. This makes it incredibly fast, predictable, and easy to deploy without external dependencies.
Key Features
- 60+ Action Verbs: Recognizes complete, update, review, schedule, prepare, and many more
- Smart Date Extraction: Parses natural language dates like "next Friday", "by EOD", "in 2 weeks"
- Priority Detection: Identifies urgency markers like "urgent", "ASAP", "low priority"
- Assignee Resolution: Extracts @mentions and name patterns like "John will..." or "Sarah needs to..."
- Chatter Filtering: Distinguishes actionable tasks from casual conversation
Code Examples
curl -X POST https://api.atomicapis.dev/api/parse-tasks \
-H "X-RapidAPI-Proxy-Secret: YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{
"transcript": "Okay team, @Sarah needs to complete the Q4 report by Friday. John should review the design mockups ASAP. Mike, can you prepare the slides by end of day?",
"defaultAssignee": null,
"confidenceThreshold": 0.3
}'
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
transcript |
string | Required | The voice transcript or meeting notes text to parse. Maximum 100,000 characters. |
defaultAssignee |
string | Optional | Fallback assignee name when no assignee is detected for a task. |
confidenceThreshold |
double | Optional | Minimum confidence score (0.0-1.0) to include a task. Default: 0.3 |
Response Format
{
"transcriptLength": 168,
"sentencesAnalyzed": 3,
"tasksDetected": 3,
"tasks": [
{
"taskNumber": 1,
"description": "Complete the Q4 report",
"rawSentence": "@Sarah needs to complete the Q4 report by Friday.",
"assignee": "Sarah",
"priority": "medium",
"deadline": "Friday",
"confidence": 0.85,
"actionVerb": "complete"
},
{
"taskNumber": 2,
"description": "Review the design mockups",
"rawSentence": "John should review the design mockups ASAP.",
"assignee": "John",
"priority": "high",
"deadline": null,
"confidence": 0.82,
"actionVerb": "review"
},
{
"taskNumber": 3,
"description": "Prepare the slides",
"rawSentence": "Mike, can you prepare the slides by end of day?",
"assignee": "Mike",
"priority": "medium",
"deadline": "end of day",
"confidence": 0.78,
"actionVerb": "prepare"
}
],
"parseDurationMs": 12.5
}
Response Fields
| Field | Type | Description |
|---|---|---|
transcriptLength |
int | Character count of the input transcript |
sentencesAnalyzed |
int | Number of sentences analyzed |
tasksDetected |
int | Number of tasks extracted above threshold |
tasks[].taskNumber |
int | Sequential task number |
tasks[].description |
string | Cleaned task description |
tasks[].rawSentence |
string | Original sentence the task was extracted from |
tasks[].assignee |
string | null | Detected assignee name or null |
tasks[].priority |
string | Priority level: high, medium, or low |
tasks[].deadline |
string | null | Detected deadline text or null |
tasks[].confidence |
double | Confidence score from 0.0 to 1.0 |
tasks[].actionVerb |
string | null | Primary action verb identified |
parseDurationMs |
double | Processing time in milliseconds |
Use Cases
Meeting Notes
Convert meeting transcripts into actionable task lists automatically. Never miss a follow-up action item again.
// Perfect for standups, retros, planning
Voice Memos
Dictate tasks on the go and instantly convert them to structured data. Ideal for mobile productivity workflows.
// Dictate → Parse → Sync to your tools
Project Management
Integrate with project management tools to auto-create tickets from Slack messages, emails, or team discussions.
// Auto-create Jira/Trello/Asana cards
Build Constraints
Pure Regex NLP Pipeline
This API is built entirely using regular expressions—no machine learning models, no external NLP services, no GPU requirements. This design choice ensures:
Consistent ~150ms response times regardless of input complexity
No ML model servers, no third-party APIs, no rate limit surprises
Stateless processing allows infinite horizontal scaling
Every extraction decision can be traced to a specific regex pattern
NLP Pipeline Layers
Pattern matching against 60+ predefined action verbs
Identifies sentences using modal verbs and imperative structures
Parses relative dates, absolute dates, and time expressions
Extracts @mentions and name patterns from sentence context
Error Codes
| Code | Status | Description |
|---|---|---|
400 |
Bad Request | Missing or invalid transcript parameter |
401 |
Unauthorized | Invalid or missing API key |
413 |
Payload Too Large | Transcript exceeds 100,000 character limit |
429 |
Rate Limited | Too many requests, retry after the specified time |
500 |
Server Error | Internal processing error, please try again |
Ready to Parse Your Tasks?
Start extracting structured tasks from voice transcripts and meeting notes in minutes.
MCP Integration MCP Ready
What is MCP?
Model Context Protocol (MCP) allows AI assistants like Claude to call this API as a native tool during conversation. Instead of writing HTTP requests, the AI invokes the tool directly — no API keys or boilerplate needed on the client side.
Tool Details
VoiceTaskParserTools
ParseTasks()
Description
Extracts actionable tasks from voice transcripts with assignees and deadlines