Pattern Automation
← Blog

Give a canvas / workflow agent an email surface

In a visual workflow builder, add inbox, thread, draft, and schedule nodes. A daily newsletter digest is a good first flow — with Ask before send.

Discuss this post in AI

Send a pre-filled prompt to ChatGPT, Claude, Gemini, or Perplexity — get a summary, ask follow-ups, or compare ideas from this guide.

Visual workflow builders are good at drawing arrows. They are weaker at owning a conversation a human can join by hitting Reply. If your canvas agent researches, summarizes, or watches vendors, it still needs a mailbox: an address, threads, drafts, and a clock.

Add an email surface with Agent Inbox. The nodes are generic: inbox, thread, draft, schedule. This is not a named integration with any particular canvas product, and it is not a claim about a fixed set of marketplace operations. It is a pattern you can drop into the builder you already use, then run the same role on Neuro OS when you need policy and an Ask queue.

Four nodes

Inbox. Create or select a mailbox at the start of the graph. Store the inbox id on the workflow instance.

from agentinbox import AgentInbox
client = AgentInbox()
inbox = client.inboxes.create(username="canvas-intel", domain="agentinbox.space")

Thread. On inbound, load the conversation, not just the latest MIME part. Pass thread id downstream so later nodes cannot accidentally start a new subject.

Draft. A node that writes a body and recipients but does not send. The graph pauses. Ask is the gate — in Neuro OS, or in the builder’s human-approval step if it has one. CRM or doc writes from the same graph also wait.

Schedule. A clock node for digests and reminders. Scheduled does not mean auto-send. Scheduled means “draft at 07:30 and put it on the Ask queue.”

Example: daily newsletter intelligence

Many teams already receive vendor newsletters, analyst notes, and product changelogs in a shared inbox nobody reads. Forward those lists into the canvas agent’s mailbox. Each morning the graph:

  1. Lists threads since the last run.
  2. Drops obvious noise with a conservative classifier.
  3. Summarizes the rest into a single internal briefing: what changed, who it affects, links back to message ids.
  4. Drafts that briefing to a small distribution list, or as a reply to an internal thread.
  5. Waits on Ask.

A person sends or edits. That is the product. If the graph emailed fifty people every morning without review, you would have built a spam cannon with extra YAML.

When a newsletter contains a customer-specific commitment or a security note, the graph should not fold it into the digest alone. Forward that thread into Neuro OS for an owner.

Wiring without SMTP

The canvas runtime calls Agent Inbox over HTTP or MCP. Credentials live in the builder’s secret store, not in a node label. Do not add a generic SMTP node “for flexibility.” Flexibility is how production sends skip Ask.

Idempotency belongs on the schedule node: a missed yesterday should not send two digests today. Key the run by date plus inbox id.

Keep the graph small

Inbox → classify → summarize → draft → Ask is enough. Resist a 40-node artwork that also updates three CRMs and posts to chat. Each extra write is another approval and another way to desynchronize.

Threading details are the same as for any agent: email threading for AI agents. The canvas is just the editor. The mailbox is Agent Inbox. The durable company run is a Neuro OS role with the same nodes expressed as a skill.

Agent Inbox gives each role a mailbox people can reply to, with forwarding into Neuro OS when a human must see the thread. Outbound mail defaults to Ask. Run the role on Neuro OS. To scope the first inbox, get started.

Explore Neuro OS →

More from Blog