Skip to content

Something lands in memory

Trigger · Stable

Run when a document, email or note lands in memory — only for the ones that came from where you say and are the file types you say.

Fires once a document has landed in memory and its text and names have been read (the memory.item.annotated event), filtered before any run exists: a document that does not match never becomes a run. Two filters, both “is one of”, both optional — Came from (the channel: email, upload, connector, a flow, Scout, …, optionally narrowed to which mailbox, connector or flow) and File type (email, PDF, image, spreadsheet, …, read from the file itself). A flow never fires on a document it stored itself, nor on one written by an agent it starts (that agent’s own note would wake it again). Context keys: memory_item_id (the document id — read it with Get memory item or Memory fetch file), payload, and trigger.memory_item.{id, name, origin, file_type, mime_type, filename}.

Use when a Job should read documents as they arrive in memory — invoices forwarded by email, photos a flow stores from a device, uploaded spreadsheets. Set the filters to what the Job acts on, so it runs on those documents and not on every item memory keeps; the Job decides the rest (its recipe claims the document, then reads it).

If the flow should start from the email itself — its sender, subject and attachments as context — use Incoming email. For other platform events use Event; for a timed sweep over memory use Schedule (Cron). Heads-up: a run from this trigger has no signed-in user, so {{ user.* }} and {{ actor.* }} are empty. Bind any recipient or owner — a send_email to, a deal owner_actor_id, a task assigned_to — to a concrete email or actor_id, never {{ user.* }}; or collect it at run time with an Ask-a-person step.

list · optional · one of email_inbound, upload, paste, integration, flow, note, scout, webhook, mbox_import, unknown

The channel memory recorded when the document arrived — not what the document is. An email and its attachments came from Email; a file a flow’s Store document step saved came from Stored by a flow.

Example: email_inbound

  • ✓ email_inbound — invoices and delivery notes your suppliers email in
  • ✓ flow — photos a device posts to a flow that stores them
  • ✗ invoice — that is a kind of document, not a channel — let the Job’s recipe decide what a document is

list · optional

fnmatch patterns, case-insensitive, any one matching is enough. Email records every To and Cc address; a flow records its name and id; a connector records what it read from.

Example: invoices@*

  • ✓ invoices@* — only mail sent to the invoices mailbox
  • ✓ Delivery ingest — only what the Delivery ingest flow stored
  • ✗ *@supplier.cz — that is a sender — this filter is about where the document arrived, not who sent it

list · optional · one of email, pdf, image, spreadsheet, document, presentation, text, audio, other

Read from the file itself (its MIME type), never guessed from its content. Email is the email itself; its attachments are PDFs, images, spreadsheets and so on.

Example: pdf

  • ✓ image — photos of delivery notes
  • ✓ email — a Job that answers emails
  • ✗ receipt — a kind of document, not a file type — the Job’s recipe decides that

Auto-generated from the skill registry (load_skills()). Do not edit by hand.