Skip to content
Slipstream agent · Mail and briefings

Mail

An inbox triage and reply drafting agent for Claude Code, Codex and Cursor

Mail reads the person's recent inbox, lists what needs a reply, the commitments made by them or to them and the deadlines in it, and saves reply drafts in their Drafts for them to send. A run costs 500 credits, charged only when the run succeeds.

Or use it on slipstream.contextstream.io, signed in with your ContextStream account. Version 0.1.0 · Updated

What does Mail do?

Reads your recent mail and writes a digest of what needs a reply, the commitments made and the deadlines coming, and saves reply drafts for you to send. It never sends anything.

What it declines

A task like one of these is declined with a reason, and a declined run is free:

  • Sending, forwarding, moving, archiving or deleting mail, or marking it read: it changes nothing in the mailbox but the drafts it saves.
  • Writing new messages: it drafts replies to mail that came in, to the people who wrote.
  • Reading anything on the web, following links in mail, or opening attachments.
  • Remembering mail in the workspace: the digest is the run's result and nothing else.

What does a real run of Mail look like?

The input, the result (shortened where it is long), how long it took, what it cost and where it ran. Live runs used public or demo material only; a run marked as from the eval suite is not a live run.

Mail never runs live for this site: a live run reads a real mailbox. The example comes from the agent's eval suite, where the mailbox is a fixture.

From its eval suite, not a live run

A daily digest of a fixture mailbox (eval case)

Version
0.1.0
Outcome
succeeded
Ran
2026-10-27 17:17 UTC
Took
Not timed (fakes)
Cost
No charge (offline)

The agent's offline eval suite: its real program, against a fake ContextStream holding a fixture mailbox, a scripted model, with no network. Not a live run.

What it ran on

  • evals/mail/cases.jsonl in the Slipstream repository
Input
{
  "window_hours": 48,
  "as_of": "2026-10-16T18:00:00Z"
}

Result

Summary

7 messages in the last 48 hours: 2 need a reply, 2 commitments, 2 deadlines; 2 drafts saved for you to send. Dana needs the seat count by Tuesday for the renewal, and Sam wants an answer today about Wednesday's interview panel.

Needs a reply

  • Interview panel on Wednesday?, from Sam Okafor <[email removed]>: Sam asks whether you can join Wednesday's interview panel and needs an answer today. (high urgency, draft saved)
  • Renewal quote for 2027, from Dana Ruiz <[email removed]>: Dana needs the seat count confirmed for the 2027 renewal quote. (high urgency, draft saved)

Commitments

  • You: Send Lee the migration runbook by 2026-10-19. “I'll send you the migration runbook by Monday.”
  • They: Northwind holds the current price of $48 per seat by 2026-10-31. “We will hold the current price of $48 per seat until October 31.”

Deadlines

  • Confirm the seat count to Northwind: 2026-10-20. “Could you confirm the seat count by Tuesday, October 20”
  • Pay CloudHost invoice INV-2291: 2026-10-30. “Your invoice INV-2291 for $412.00 is due on October 30, 2026.”

The digest (Markdown)

# Mail digest, 2026-10-16

7 messages in the last 48 hours: 2 need a reply, 2 commitments, 2 deadlines; 2 drafts saved for you to send. Dana needs the seat count by Tuesday for the renewal, and Sam wants an answer today about Wednesday's interview panel.

## Needs a reply

- **Urgent: Sam Okafor**, "Interview panel on Wednesday?": Sam asks whether you can join Wednesday's interview panel and needs an answer today. Draft saved in Drafts.
- **Urgent: Dana Ruiz**, "Renewal quote for 2027": Dana needs the seat count confirmed for the 2027 renewal quote. Draft saved in Drafts.

## Commitments

- You: Send Lee the migration runbook (by 2026-10-19). "Re: Postgres migration"
- Dana Ruiz: Northwind holds the current price of $48 per seat (by 2026-10-31). "Renewal quote for 2027"

## Deadlines

- 2026-10-20: Confirm the seat count to Northwind. From Dana Ruiz, "Renewal quote for 2027"
- 2026-10-30: Pay CloudHost invoice INV-2291. From CloudHost Billing, "Invoice INV-2291 is due October 30"
---

Read 7 messages in full of 7 messages in [email removed]. Nothing was sent, moved or marked read.
Checks: 4 of 4 passed
  • mail_read: Read 7 messages in full of 7 messages in the window.
  • grounded: Every commitment and deadline quotes its message.
  • drafts: 2 saved in Drafts, 0 not saved.
  • no_sends: Sent nothing, and moved, deleted or marked nothing: drafts wait in Drafts for you.
  • Email addresses are removed.
Eval case
evals/mail/cases.jsonl, daily-digest
Depot run
0zb9r381xr

What does Mail cost?

Mail costs 500 ContextStream credits a run, charged only when the run succeeds; a declined, failed, cancelled or timed-out run costs nothing. Credits come with every plan: Starter is free with 10,000 a month (20 runs of Mail, if spent on nothing else), and Pro is $19 a month with 25,000.

Which tools does Mail work with?

Claude Code, Codex, Cursor and other MCP clients: ContextStream's MCP gives them a slipstream tool that finds, runs and follows Mail. It also runs from a terminal or an agent's shell with ss run mail, and from the ContextStream web app.

  • Claude Code, Codex, Cursor and other MCP clients: connect ContextStream's MCP once (setup for each editor), then ask your agent to hand the job to Mail.
  • A terminal or an agent's shell: ss run mail, installed with ContextStream's command line.
  • The web app: the workspace's specialist library, where each run shows its price before it starts.

What access does Mail need?

Mail gets a short-lived token for one workspace, limited to 3 scopes: Reads your mail, Drafts, never sends and Models via ContextStream. It works in one project, and only for that run.

Model agent. A program on ContextStream's model proxy, with a short-lived token that acts for you in one workspace. It is stopped after 5 min. You may schedule it to run on its own.

ScopeWhat it lets a run do
mail.readRead your own mailboxes, without marking anything read.
mail.draft.writeSave a few reply drafts in your Drafts, to the sender of the message answered. Never sends.
model.invokeCall models through ContextStream’s model proxy, under the run’s credit cap.

How do I turn Mail on?

An owner or admin of your ContextStream workspace turns Mail on in the specialist library of the web app. Specialist agents are opening workspace by workspace; if yours is not open yet, the library says so.

  1. Sign in to ContextStream: the button below opens the specialist library on Mail.
  2. An owner or admin switches Mail on for the workspace.
  3. Pick the project it works in, and run it from the library, from your coding agent or with ss run.

How do I call Mail from Claude Code or Codex?

Ask your coding agent to hand the job to Mail, or call it yourself: ss run mail in a terminal, or slipstream(action="run", agent="mail", input={...}) over MCP. A priced run starts only once its price is accepted.

Connect ContextStream's MCP (it also writes each editor's connection):

curl -fsSL https://contextstream.io/scripts/mcp.sh | bash

The daily digest: the last 24 hours of every mailbox, with up to three reply drafts saved. Over MCP:

slipstream(action="run", agent="mail", input={}, accepted_price_credits=500)

In a terminal (curl -fsSL https://contextstream.io/cs/install.sh | sh installs ss):

ss run mail

Over MCP, a call without accepted_price_credits returns the quote first; ss asks on a terminal, and scripts pass --yes.

Input

FieldTypeWhat it is
mailboxstringThe mailbox to read. Defaults to every mailbox you have, up to three.
window_hoursintegerHow far back to read, in hours. Defaults to 24; a weekly digest uses 168.
max_messagesintegerHow many of the newest inbox messages to look at in each mailbox. Defaults to 40.
draftsintegerHow many reply drafts to save in your Drafts, at most. 0 saves none. Defaults to 3.
reply_stylestringHow the drafts should read, for example "short and friendly, signed Ada".
focusstringWhat to look at first, for example "anything from Acme about the renewal".
dry_runbooleanPut the drafts in the digest without saving them.
as_ofstringRead the window as of this time instead of now.
Mail and briefings

Daily Briefing

RSS feed briefing agent

Daily Briefing returns the newest items from RSS and Atom feeds, without duplicates, quoting sentences word for word from each item's article.

Not priced yetEvals 8/8v1.0.0
Mail and briefings

Research Brief

feed research brief agent

Research Brief writes a short brief of the newest stories in RSS and Atom feeds, each point backed by a quote checked word for word against its article.

1,500 credits a runEvals 7/7v1.0.0

Every Slipstream agent