Recued
Menu
← Back to recipes

Extract commitments from mail

by recued-core v3 49 views

Use “Extract commitments from mail” in Recued. Extract commitments from an inbound email into Recued's commitment tracker — who promised what to whom, with optional deadline and monetary amount. Thread-aware: a reply like ‘yes, please send that by Friday’ binds to the prior message. Records one only when someone actually promised something.

How it works 32 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Data fetch
▼ message core.mail.get
Get mail
▼
Process (31 steps)
■ defaults defaults
Apply defaults
■ has_thread_id compare
Check if thread id has data
◆ thread core.mail.thread-read
Thread read mail
skip: step.has_thread_id not_equal true
■ thread_messages default
Apply default
◆ thread_body_reads core.mail.body-read
Body read mail
■ thread_messages_with_body filter
Filter by condition
■ thread_body_segments pluck
Extract result.body from each item
■ thread_body join
Join items with " --- "
◆ single_body_read core.mail.body-read
Body read mail
skip: step.has_thread_id equal true
■ single_body default
Apply default
■ body ternary
Apply ternary
■ body_present compare
Check if body has data
■ skip_empty compare
Check if body present does not equal true
■ protect pii-protect
Apply pii-protect
✦ classify core.ai.classify
AI classifies data into one of the given categories
skip: step.skip_empty equal true
■ not_commitment compare
Check if classify category does not equal commitment_made
■ skip_extract any
Check if any of the conditions are true
✦ extract core.ai.extract
AI extracts structured fields from data
skip: step.skip_extract equal true
■ restore pii-restore
Apply pii-restore
■ defaults_2 defaults
Apply defaults
■ counterparty_email trim
Trim whitespace from extracted counterparty email
■ defaults_3 defaults
Apply defaults
■ promised_for_at date_parse
Parse restore restored promised for at iso as a date
■ has_monetary all
Check if all conditions are true
■ monetary_value merge
Combine objects together
skip: step.has_monetary not_equal true
■ missing_statement compare
Check if extracted statement is empty
■ skip_create any
Check if any of the conditions are true
◆ resolve_counterparty core.contact.resolve
Resolve contact
skip: step.counterparty_email is_empty
■ commitment_key_hash sha256
Apply sha256
◆ create core.work-entity.commitment.create
Create work entity commitment
skip: step.skip_create equal true
■ card to_summary
Format results as a summary card
▼
Output
summary card

Uses (7 operations)

Mail Get mail core.mail.get
Mail Thread read mail core.mail.thread-read
Mail Body read mail core.mail.body-read
AI models AI classifies data into one of the given categories core.ai.classify
AI models AI extracts structured fields from data core.ai.extract
Contacts Resolve contact core.contact.resolve
Tasks & notes Create work entity commitment core.work-entity.commitment.create

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Read Mail core.mail.get read-only
Read Mail core.mail.thread-read read-only
Read Mail core.mail.body-read read-only
Read AI models core.ai.classify read-only
Read AI models core.ai.extract read-only
Read Contacts core.contact.resolve read-only
Write Tasks & notes core.work-entity.commitment.create external change

Data it touches

SurfacesMailAI modelsContactsTasks & notes
Warehousedata.mail

About

Tags

emailmailcommitmentwork-entityreactivesilent-producerpack:personal-organizerai_surface

Details

32 steps recipe_id: extract-commitments-from-mail