◈ Mail → Excel

Excel export for Agency owners

By the Mail → Excel team · Updated 2026-10-20

Client reporting starts with what was agreed over email. A per-client export turns those agreements into numbers you can defend. This page lists the exact columns, an example row and the command that produces it.

Columns to keep

ColumnWhy it matters
clientThe join key for every other report you will build later.
campaignThe campaign or project the client paid for.
spendBudget spent, with a currency column.
resultThe outcome metric agreed with the client.
periodMonth or quarter, so each export is a closed, auditable slice.

Example row

One real-shaped row from this role’s export:

clientcampaignspendresultperiod
GlowStudioAutumn promo1,80042 leads2026-09

Export it in one command

python mail_to_excel.py \
  --host imap.example.com --user you@example.com \
  --days 31 --fields client,campaign,spend,result,period \
  --out agency-owner.xlsx

The --fields option is what turns a raw dump into a report your role can use.

Provider notes

Agency accounts on Google Workspace often need OAuth because admins disable app passwords.

Two pitfalls that ruin the file

Next step

Step-by-step: export agency owner email to Excel · all roles · ready script ($3)

FAQ

Can I automate monthly client reports?

Yes: schedule the export, then build the report from the file with the same column names every month.

How do I handle client-specific fields?

Keep a shared core of columns and add a client-specific sheet; do not fork the schema per client.

Is there a ready script for this?

Yes — the Python script exports any IMAP mailbox with the fields listed above; it costs $3 and runs locally.

Related guides