Skip to content
Recued
Menu
← Back to recipes

Create approved mail commitment

by recued-core v1

Owner-invoked create half of the core mail-to-commitment loop. It reads one awaiting_owner_approval proposal written by mail-commitment-proposal-producer, optionally targeted by proposal_thread_key, creates a Recued commitment from the proposal, links the commitment back to the source mail record, and marks the proposal created. This recipe is manual-only: running it is the owner's approval to turn the proposed mail promise into durable Recued accountability.

Complete workflow

Core-only workflow pack for turning filtered inbound mail into Recued commitments. The producer is fail-closed by default until the owner configures subject or sender allow terms; matching mail is then read, extracted into one likely commitment, and persisted only as a small proposal ledger row in data.shared. The manual recipe creates the Recued commitment after the owner chooses to run it. This pack does not send email, depend on an external CRM or task vendor, create vendor work, or scan the full mailbox by default: it adds a deterministic filter and approval step between email and Recued-native commitments.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Owner-invoked create half of the core mail-to-commitment loop. It reads one awaiting_owner_approval proposal written by mail-commitment-proposal-producer, optionally targeted by proposal_thread_key, creates a Recued commitment from the proposal, links the commitment back to the source mail record, and marks the proposal created. This recipe is manual-only: running it is the owner's approval to turn the proposed mail promise into durable Recued accountability.

emailmailcommitmentwork-entity
by recued-core pinned v1
Propose Recued commitments from mail
Background automation

Detection half of the core mail-to-commitment loop. It fires when a mail record is created, applies deterministic subject/sender allow and block filters before any body read or AI call, extracts one concrete commitment only for matched mail, writes a small awaiting_owner_approval proposal row in data.shared, and notifies the owner. It defaults to requiring at least one allow filter so large inboxes do not burn model tokens by default. It never creates the commitment itself: the owner-invoked create-approved-mail-commitment recipe performs the Recued commitment write.

emailmailcommitmentwork-entity
by recued-core pinned v1
View pack details, dependencies, and permissions →
How it works 40 steps

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

Data fetch
proposals ?
Process (39 steps)
proposals_family filter
Filter by condition
pending_proposals filter
Filter by condition
has_target compare
Check if setting proposal thread key has data
targeted_proposals filter
Filter by condition
selected_pool ternary
Apply ternary
candidate_proposals slice
Take a subset of
pending_count count
Count items in pending proposals
has_candidate compare
Check if candidate proposals has data
proposal_key default
Apply default
mail_slug default
Apply default
record_id default
Apply default
thread_id default
Apply default
thread_key default
Apply default
subject default
Apply default
from_email default
Apply default
commitment_statement_raw default
Apply default
commitment_statement trim
Trim whitespace from commitment statement raw
raw_direction default
Apply default
direction_is_outbound compare
Check if raw direction equals outbound
direction_is_internal compare
Check if raw direction equals internal
internal_or_inbound ternary
Apply ternary
commitment_direction ternary
Apply ternary
promised_for_at default
Apply default
counterparty_email_raw default
Apply default
counterparty_email trim
Trim whitespace from counterparty email raw
extraction_confidence default
Apply default
has_mail_slug compare
Check if mail slug has data
has_record_id compare
Check if record id has data
has_thread_id compare
Check if thread id has data
has_commitment_statement compare
Check if commitment statement has data
skip_create any
Check if any of the conditions are true
skip_counterparty_resolve any
Check if any of the conditions are true
resolve_counterparty ?
skip: step.skip_counterparty_resolve equal true
commitment_created ?
skip: step.skip_create equal true
has_commitment compare
Check if commitment created commitment id has data
skip_finalize any
Check if any of the conditions are true
mark_proposal_created ?
skip: step.skip_finalize equal true
link_commitment_to_mail ?
skip: step.skip_finalize equal true
card to_summary
Format results as a summary card
Settings 1 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

proposal thread key setting =

Trust & control

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

Where it runs

Device + server Runs on your device (browser) or your server.

Data it touches

Warehousedata.commitmentdata.maildata.shared

About

Tags

emailmailcommitmentwork-entityapprovalclosed-loopcore-onlystate:mail-commitment-proposal-producerpack:mail-commitment-proposal

Details

40 steps 1 configurable settings recipe_id: create-approved-mail-commitment