Skip to content
Scalpels home

Scalpels is officially launching on October 31, 2026. Special early adopter pricing is available now.

← All documentation

Documentation

Sink

The inbox

Updated

The inbox at /inbox lists every captured message, newest first, 15 to a page. Open it from Inbox in the sidebar once you are signed in.

The message list

Each row shows the source app label, subject, sender, number of recipients, when Sink received it, the attachment and link counts, and its truncation state. A message with no subject shows (No subject). Select the subject to open the message.

Subject, sender, recipients, links and attachments come from a parse job that runs on Sink's queue just after the message arrives. Until it finishes, a new message shows in the list without those details.

Filters

The filter card narrows the list as you type:

Filter Matches
Source app Messages whose app label is exactly this value
Recipient Messages with any recipient (To, Cc or Bcc) whose address contains this text
Subject contains Messages whose subject contains this text
Received from Messages received on or after this date
Received to Messages received on or before this date

Filters combine. The app label of a connected application is described in Connecting your apps.

Reading a message

The message page shows:

  • the subject and sender;
  • a summary card with the app label, the Message-ID header, truncation state, sent and received times, size in bytes, and attachment and link counts;
  • Recipients, grouped into To, Cc and Bcc;
  • Body, the rendered message;
  • Headers, every header exactly as it arrived;
  • Links, each http or https URL Sink found in the text and HTML parts, de-duplicated;
  • Attachments, with filename, MIME type, size and a Download button.

How the body is rendered

The body is the message's HTML part, or its plain-text part when there is no HTML. It is shown inside a sandboxed frame with a strict content security policy: scripts do not run, forms do not submit, and only images and fonts embedded in the message itself (as data: URLs) load. Remote images in a message therefore appear broken. That is deliberate.

View raw source opens the complete MIME source in a new tab as plain text.

A message captured as headers_only has no body to show, and one captured as attachments_dropped has no attachments. Check the truncation state before concluding that a template is wrong.

Deleting mail

Delete message, on a message's page, removes that message after a confirmation prompt.

Purge filtered scope, in the filter card, removes every message that matches the current filters after a confirmation prompt. It refuses to run when every filter is empty, so it cannot clear the whole inbox in one click. To clear one application's mail, enter its label in Source app and purge.

Sink records each deletion and purge along with who performed it. The stored source and attachment files are removed from your bucket by the hourly maintenance task. Both actions are available to every signed-in member, not only administrators.

How long mail is kept

Sink deletes messages older than seven days by default, checked every hour. You can change the age limit and add a cap on message count or total size; see Configuration.