Skip to content
Docs
Open Escouade
Documentation contents

Docs › Mail

Inboxes

View as .md

An inbox is an e-mail address driven by an agent. It receives from the moment it is created. Its sending rises in steps, week after week.

What an inbox is

  • An address name@domain and a name shown in “From:”. The password is managed by Escouade Mail and never returned: the inbox is driven through the tools, not over SMTP. A phone shows its calendar and contacts, and Escouade reads it, each with its own app password: see Calendar and contacts.
  • Every inbox receives. An e-mail received opens a thread, or joins its correspondent’s thread. See Threads.
  • Its sending rises in steps: 5 e-mails a day the first week, then 10, 15 and 20. The schedule starts when the inbox is created. See Sending rules.
  • A state: active, suspended (the circuit breaker stopped it, nothing leaves) or deleted.
  • A cap per space: one inbox before payment, then 2, 5 or 15 depending on the plan. Beyond that, create_inbox is refused. Every number: Limits and quotas.

The first inbox

sign_up opens an inbox on the shared domain, subagentmail.fr. What it does depends on two things: the 6-digit code, then the plan.

WhenWhat the inbox does
Before the 6-digit codeIt receives and does not send: any send is refused with the code space_unverified.
After the code, before paymentIt receives, prepares drafts and only writes to its human: send_email with test. Any other send is refused with the code payment_required.
Once the plan is paidIt replies to whoever wrote to it. A first message, or a follow-up with no reply, is refused with the code own_domain_required.
  • To write to someone first, you need an inbox on the customer’s domain: see Domains.
  • A test send always goes through: it only goes to the e-mail of the space’s human, or to another inbox of the space.
  • The rule applies to every inbox on the shared domain, not just the first one.

Plans and payment: Pricing and payment.

inbox_status

The starting point. It says which space the key works on, whether it is verified, where its plan stands, its permissions, the sending window, and the state of each inbox. Call it before sending, and when a send is slow to leave. Any key can call it.

ParameterTypeRequiredDescription
inbox_idinb_… identifiernoOne specific inbox. Absent: every inbox of the key.
inbox_statusresult
Espace Atelier Exemple (marque Subagent), 13 octobre 2026. Clé « Claude ([email protected]) » : send, read, approve, manage_inboxes.
Forfait à 19 € par mois, payé jusqu’à jeudi 12 novembre à 14 h 32 (détail : billing_status).
Créneau d’envoi : du lundi au vendredi, de 9 h à 18 h, heure de Paris, jours fériés exclus.
Boîte [email protected] (inb_3f9c2a7e5b1d4c8e9a0f6b2d7c4e1a95) — active
  Quota du jour : 9/15 envoyés, 6 restants (semaine 3 du réchauffage, palier de 15 par jour).
  En file : 3 ; brouillons à valider : 3. Prochain départ au plus tôt : mardi 13 octobre à 14 h 31.

The structured object carries:

FieldContent
tenantThe space: id, name, brand, and domains, the domains it can create an inbox on.
verifiedtrue: the space is verified. false: its inboxes only receive.
trialnull in the public service. The field only serves a server configured without plans.
keyThe key: name, permissions, daily_cap.
send_windowThe sending window, in plain words.
require_approvaltrue: every send of the space waits for human approval.
nowThe moment of this status, in ISO 8601, in Paris time.
inboxesThe inboxes, each with the fields below.

The text says in one line where the plan stands. The details, with the period, the volume sent and the invoices, are returned by billing_status: see Pricing and payment.

In an assistant that displays MCP Apps views, inbox_status comes with a view: the state of the inboxes, drawn from the same object. It says nothing the text does not say. list_inboxes has its own: one line per inbox. See Views.

The fields of an inbox

FieldContent
idThe inbox identifier, inb_….
addressThe e-mail address.
display_nameThe name shown on sends.
statusactive, suspended or deleted.
status_reasonThe reason for a suspension, otherwise null.
created_atThe inbox’s creation date, in ISO 8601.
warmupThe gradual warm-up: week (current week), tier_limit (step), steps (the steps), complete (last step reached), start_date.
quotadaily_quota (today’s quota), daily_max (maximum quota), sent_today, remaining_today.
queuedThe number of queued messages.
draftsThe number of drafts to approve.
next_send_atThe earliest next departure, or null if nothing is queued.
send_windowThe sending window, in plain words.

activity_report

Today’s summary and the report. In one call, it says what waits for a human decision, and what the inboxes sent and received: today, or over the last seven days. Call it when the human asks how their space is doing, or for a report. Permission: read or approve. The space does not need to be verified.

ParameterTypeRequiredDescription
periodtextnotoday: the current day, in Paris time. week: the last seven days, today included. today by default.
inbox_idinb_… identifiernoA single inbox. Absent: every inbox of the key.
activity_reportresult
Point du jour, 13 octobre 2026, espace Atelier Exemple.
À décider : 3 brouillon(s) à valider (list_drafts) ; 1 message(s) reçu(s) sans réponse (list_threads avec unanswered = true).
Aujourd’hui : 9 envoi(s) sur 15 possible(s), 3 en file, 1 réponse(s) reçue(s), 0 rebond(s), 0 désinscription(s), 0 plainte(s).

The structured object carries:

FieldContent
periodkind (today or week), from and to: the days of the period, in Paris time, inclusive.
pendingWhat waits for a decision: drafts (the count, and the five most recent drafts), replies (the count, and the five most recent threads whose last message is an e-mail received with no reply), domains (unverified domains), suspended_inboxes.
totalsOver the period: sent (the sends counted towards the quota), quota (the sum of the daily quotas), queued (queued right now), replies, bounces, unsubscribes, complaints.
by_dayOne object per day of the period, in order: date, sent, quota, replies, bounces, unsubscribes, complaints.
billingWhere the space’s payment stands, or null.
inboxesThe inboxes, with the fields of an inbox.
  • Nothing is estimated. Sends are the ones the daily quota counts. Replies, bounces, unsubscribes and complaints come from the log.
  • replies and domains follow the permissions: replies is null without read, domains is null without read or manage_inboxes.
  • In an assistant that displays MCP Apps views, activity_report comes with a view: today’s summary. See Views.

list_inboxes

Lists the inboxes the key can use, with their daily quota and their step. Any key can call it.

ParameterTypeRequiredDescription
cursortextnoThe cursor of the next page: the next_cursor value from the previous call.
limitintegernoThe number of items returned, from 1 to 100. 20 by default.

create_inbox

Creates an inbox username@domain on one of the space’s sending domains. It receives straight away; its sending starts at the first step. Permission: manage_inboxes. The space must be verified.

ParameterTypeRequiredDescription
usernametextyesThe part before the @: lowercase letters, digits, dot, hyphen or underscore, 64 characters at most; it starts with a letter or a digit. On the shared domain: 3 to 32 characters, and an address already given out is never given out again.
domaintextnoOne of the space’s sending domains. Absent: the first one, its own first if it has a verified one (see inbox_status, tenant.domains).
display_nametextyesThe name shown in “From:”. One line, 100 characters at most, with no <, > or straight quote.
create_inboxresult
Boîte [email protected] créée (inb_5c1e8b3a7d0f42c69e2b4a8d1f6c0e37). Elle reçoit dès maintenant. Envois en réchauffage : 5 par jour cette semaine, puis 10, 15, 20 (plafond 20 par jour). Créneau : du lundi au vendredi, de 9 h à 18 h, heure de Paris, jours fériés exclus.
  • Before payment, the space has only one inbox: a second one is refused with the code payment_required.
  • At the plan’s cap, creation is refused with the code inbox_limit. The lead gives the number of inboxes and the price of the next plan, and how to move to it straight away: subscribe with plan. See Pricing and payment.
  • Service addresses (postmaster, abuse, support, admin, noreply…) are reserved: code reserved_username. On the shared domain, the list is longer.
  • On a domain registered by the space, the inbox can only be created once the domain is verified. A first message leaves from such an inbox. See Domains.
  • An inbox created on the shared domain, subagentmail.fr, only replies to whoever wrote to it.
  • Possible refusals: space_unverified, payment_required, reserved_username, domain_not_allowed, no_sending_domain, domain_not_verified, domain_suspended, inbox_limit, inbox_creation_limit, address_taken, provisioning_failed. See Errors.

update_inbox

Changes an inbox’s display name, the one its recipients read in “From:”. The address does not change. Permission: manage_inboxes.

ParameterTypeRequiredDescription
inbox_idinb_… identifieryesThe inbox to rename.
display_nametextyesThe new name. One line, 100 characters at most, with no <, > or straight quote.
  • The new name applies to messages written afterwards. A draft or a queued message keeps the name it was written under: what a human reviewed is what leaves.

delete_inbox

Deletes an inbox: its drafts and queued messages are cancelled, and its mail account is deleted. Threads remain readable. Irreversible. Permission: manage_inboxes.

ParameterTypeRequiredDescription
inbox_idinb_… identifieryesThe inbox to delete.
confirmbooleanyesMust be true: deletion is irreversible.
  • A suspended inbox cannot be deleted through the tool: the call is refused with the code inbox_suspended.
  • Deleting an inbox and creating it again resets nothing: the duplicate rule follows the address, and creations are capped over 7 days, deleted inboxes included (code inbox_creation_limit).

A suspended inbox

The circuit breaker suspends an inbox above 5% bounces (3% during warm-up) or 0.1% complaints. Any send is then refused with the code inbox_suspended, and the reason is written in status_reason. The inbox keeps receiving. Reinstatement is manual, by an Escouade Mail administrator: the human asks for it with request_inbox_review. See Sending rules.

request_inbox_review

Asks for a suspended inbox to be reinstated. The request is noted on the inbox and in the log, and an Escouade Mail administrator decides. Nothing resumes on its own, and no date is promised. Permission: approve. The space must be verified.

This is a human gesture: they ask their assistant for it, connected at https://mail.escouade.io/mcp. The key returned by sign_up does not carry approve.

ParameterTypeRequiredDescription
inbox_idinb_… identifieryesThe suspended inbox.
notetextnoWhat the human wants to tell the administrator: one line, 300 characters at most.
request_inbox_reviewresult
Reprise demandée mardi 13 octobre à 11 h 02 pour la boîte [email protected] (inb_3f9c2a7e5b1d4c8e9a0f6b2d7c4e1a95). Un administrateur de Subagent décide : rien ne reprend tout seul, et aucune date n’est promise. D’ici là, la boîte reçoit toujours, et n’envoie pas.
  • Before asking, fix what caused the suspension: status_reason says what (dead addresses, complaints).
  • Asking again changes nothing more: the first request stands, with its date.
  • An inbox that is not suspended: refusal inbox_not_suspended.
This page in Markdown: /en/mail/docs/boites.md All the docs for an agent: /en/mail/docs/llms.txt Legal notice · Terms · Privacy · Service status