> For the complete documentation index, see [llms.txt](https://docs.resifactory.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.resifactory.net/the-console/batches.md).

# Batches

A **batch** is a named group of mailboxes. Usually one batch per purchase, but you can organise them however suits you: by campaign, by project, by whoever is using them.

<figure><img src="/files/PnTPreG7ryNBYMHzGE6i" alt="The batches list with account, healthy and WTok counts"><figcaption></figcaption></figure>

## Why batches matter

Three things depend on them:

1. **Scoping IMAP access.** An [app password](/imap/app-passwords.md) can be scoped to one batch, so that credential can only ever read that batch's mail. See [Scopes](/imap/scopes.md).
2. **Exporting in one action.** Right-click a batch to export every credential in it, in the format you need.
3. **Filtering.** [Inbox](/the-console/inbox.md), [Accounts](/the-console/accounts.md) and [Signups](/the-console/signups.md) all filter by batch.

## The list

| Column       | What it shows                              |
| ------------ | ------------------------------------------ |
| **Name**     | The batch name.                            |
| **Accounts** | How many mailboxes are in it.              |
| **Healthy**  | How many of those are currently `healthy`. |
| **WTok**     | How many have a linked WTok account.       |
| **Shared**   | Mailboxes shared into this batch, if any.  |
| **Created**  | When the batch was made.                   |

The header summarises across all of them: `3 batches · 250 memberships`. That is *memberships*, not unique mailboxes — a mailbox in two batches counts twice.

**Search batches** filters by name. Column headers sort.

{% hint style="info" %}
**Healthy versus Accounts** is a quick health read per purchase. `99 of 100` is normal. `60 of 100` is worth investigating on [Accounts](/the-console/accounts.md), filtered to that batch.
{% endhint %}

## Creating one

**New**, give it a name, **Create**. Then add mailboxes from [Accounts](/the-console/accounts.md): select rows → **Assign to batch…**.

Names should mean something to you later — `aug-drop-100`, `client-a`, `otp-only`. You are naming the thing you will pick from a dropdown when creating credentials.

## Batch actions

Right-click a batch — or the **⋯** button.

<figure><img src="/files/gfy3jxhj8sXvBS1aDHWX" alt="The batch context menu"><figcaption></figcaption></figure>

| Action                      | What it does                                                                      |
| --------------------------- | --------------------------------------------------------------------------------- |
| **Copy ▸**                  | Copy the batch's data to the clipboard in various shapes.                         |
| **Export emails**           | Every login in the batch, one per line.                                           |
| **Export email:password ▸** | `login:password` lines — mailbox password or WTok password.                       |
| **Export AYCD CSV**         | AYCD's Email Accounts CSV, columns pre-filled. See [AYCD](/imap/clients/aycd.md). |
| **Gmail forwarding…**       | Forward this batch's mail to a Gmail address as well.                             |
| **Rename**                  | Change the name. Existing app passwords scoped to it keep working.                |
| **Split…**                  | Move some mailboxes into a new batch.                                             |
| **Delete**                  | Delete the batch.                                                                 |

{% hint style="warning" %}
**Deleting a batch does not delete mailboxes.** They stay in your account and stay in any other batch they belong to; they just lose this grouping.

But **app passwords scoped to that batch stop being useful** — there is nothing left for them to see. Revoke and recreate them against a different scope.
{% endhint %}

### Splitting

**Split…** takes a new batch name and a number of mailboxes to move. Useful for carving a large purchase into working sets — say, 500 mailboxes into five batches of 100 so each tool gets its own.

It only appears on batches with at least two mailboxes; you cannot split a batch down to nothing.

### Gmail forwarding

**Gmail forwarding…** sends a copy of the batch's mail to a Gmail address you control. You supply the Gmail address and a Gmail app password.

Forwarding is *in addition to* everything else — mail still lands in your inbox here and is still served over IMAP. **Turn off** in the same dialog stops it.

{% hint style="info" %}
Forwarding is a convenience, not a replacement for IMAP. It is slower than IDLE and subject to Gmail's own filtering, so do not build code-fetching on it.
{% endhint %}

## Organising batches well

* **One batch per purchase** is the default and works fine for most people.
* **Split by tool** when different tools want different mail — a batch for order-tracking mailboxes, another for OTP-only ones.
* **Split by person** when someone else needs access. Give them a batch-scoped [app password](/imap/app-passwords.md) and they see that batch and nothing else.

## Exporting a whole batch

The fastest path from "I bought 100 mailboxes" to "my tool has them":

1. Open **Batches**.
2. Right-click the batch.
3. Pick the format — **Export emails**, **Export email:password**, or **Export AYCD CSV**.

Details and formats: [Exporting credentials](/credentials/exporting.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.resifactory.net/the-console/batches.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
