Replace your cold email agency's master inbox spreadsheet

Pick a client and see every domain and mailbox they own, whether each address is really sending, and how the last seven days of warmup went.

App
InfraForgeSmartleadSlack BotGeneral Input DatabaseSalesOperationsData SyncResearch & Monitoring
PromptCreate

Build me an app that replaces the master inbox registry spreadsheet my cold email agency keeps. We run one InfraForge workspace per client and never mix client inboxes, so the client switcher is the primary navigation and every view, action, and export in the app stays scoped to a single workspace. There should be no screen that lists mailboxes from two clients side by side.

The app opens on a client list built from InfraForge List Workspaces, one row or card per workspace. Each client shows its workspace name, a domain count from InfraForge List Domains, a mailbox count from InfraForge List Mailboxes filtered to that workspace, and a credit cost line, since domains and mailboxes charge our account balance the moment they are bought. Build the cost line from whatever price or cost fields the domain and mailbox records carry, and show the account level balance and auto topup threshold from InfraForge Get Credit Balance Settings in a header strip above the list so we can see runway while we browse. Selecting a client sets the active workspace for the whole app and keeps it selected as we move between views.

The client detail view has two sections. A domains section lists every domain in that workspace from InfraForge List Domains, with its status and how many mailboxes sit on it. Below that is the registry table itself: every mailbox in that workspace from InfraForge List Mailboxes, called with the workspace id and with credentials enabled, since passwords and IMAP or SMTP details are only returned when credentials are requested. Each row shows the mailbox email address, display name, the domain it belongs to, its forwarding address, and its signature. Keep the password and the IMAP and SMTP connection details behind a reveal control on the row rather than printing them in the table. Make the table searchable by address and sortable by domain and by status.

Every row is cross referenced against Smartlead. Load the sending accounts once per view with Smartlead List Email Accounts and match them to InfraForge mailboxes by email address, using Smartlead Get Email Account for the detail of a matched account. Pull Smartlead List Campaigns and, for each campaign, Smartlead List Campaign Email Accounts to work out which addresses are actually attached to a campaign and which campaign that is. For each matched account, show the last seven days of warmup from Smartlead Get Warmup Stats as a compact summary such as sent, landed in inbox, and spam, plus a simple health read. So each row answers three questions at a glance: does this address exist in Smartlead, is it attached to a campaign, and is its warmup healthy. Rows with no Smartlead match should say so clearly rather than showing blanks.

From a row I can act without leaving the page. Edit opens the mailbox and saves changes with InfraForge Update Mailbox, covering the display name, password, forwarding address, and signature, which are the fields we correct most often. Delete removes a dead mailbox with InfraForge Delete Mailbox behind a confirmation that names the address being deleted. Both actions refresh the table in place.

An Export button on the client page pulls the whole workspace as a CSV with InfraForge Export Mailboxes. That call returns plain text CSV rather than JSON, so handle it as a text body. Each client has a default export format we set once and store, chosen from the valid formats: Smartlead, Instantly, Reply.io, Woodpecker, and Masterinbox. The export offers a download and a Send to Slack option that posts the CSV into that client's channel using Slack Bot Upload a File, followed by a short Slack Bot Send a Message summary naming the client, the mailbox count, and the export format. Store each client's default export format and Slack channel id in the General Input Database, keyed by workspace id, so the team is never picking them again.

Add a Run audit button on each client that kicks off a background agent scoped to that one workspace. The agent lists the workspace's domains and mailboxes from InfraForge, calls InfraForge Get Domain DNS for each domain, pulls Smartlead List Email Accounts plus Smartlead List Campaigns and Smartlead List Campaign Email Accounts, and calls Smartlead Get Warmup Stats for each matched sending account. It then writes a findings brief with three sections: mailboxes that were provisioned in InfraForge but never attached to any Smartlead campaign, including how long they have been sitting idle and what they are costing; mailboxes with weak warmup over the last seven days, such as very low volume or a meaningful share landing in spam; and domains with missing or incomplete DNS records. Each finding should name the specific mailbox or domain so it can be acted on from the table. Save the brief in the General Input Database against the workspace id with a timestamp, and render the latest one on the client page with the run time and a history of previous audits. While an audit is running, show its status on the client card, and keep the rest of the app usable.

Design nuance: this is exception based management, so the client list should surface how many open findings each client has from its last audit, and the mailbox table should let me filter down to just the flagged rows. Empty states matter, since a brand new client workspace will have domains but no mailboxes yet. Keep everything read fast: cache the Smartlead account and campaign lookups per view rather than refetching per row.

What does this prompt do?

  • Opens on a client list built from your cold email infrastructure workspaces, one client per workspace, each showing a domain count, a mailbox count, and what that client's infrastructure has cost against your account balance.
  • Click a client to see every domain and every mailbox they own, with the forwarding address and signature on each row, cross checked against your sending platform so you can tell at a glance which addresses exist as sending accounts, which are attached to a live campaign, and how their last seven days of warmup went.
  • Fix a mailbox in place, delete a dead one, or export the whole client as a CSV in the exact format their sending tool expects and drop it straight into that client's Slack channel.
  • Hit Run audit on any client and a background assistant checks DNS on every domain, compares your mailbox list against your sending accounts, and writes a findings brief back into the app flagging mailboxes that were provisioned but never attached to a campaign, mailboxes with weak warmup, and domains with missing DNS records.

What do I need to use this?

  • An InfraForge account with your client workspaces, domains, and mailboxes already provisioned
  • A Smartlead account where those addresses are set up as sending accounts
  • A Slack workspace, if you want to drop client exports into a shared channel

How can I customize it?

  • Set each client's default export format so the CSV always matches the tool that client actually sends from
  • Point each client at their own Slack channel so exports land where that client's team already works
  • Change the thresholds the audit uses, such as how few warmup emails counts as weak or how many days a mailbox can sit unattached before it gets flagged

FAQs

Will this mix one client's inboxes with another's?
No. The app is built around the rule agencies already follow: one workspace per client, never mixed. The client switcher is the main navigation, and every screen, export, and audit stays inside the single client you have selected.
Can I still see mailbox passwords and login details?
Yes. Each mailbox row can show its login and connection details, kept hidden behind a reveal control so you are not leaving client credentials on screen while someone walks past.
Which sending tools can I export to?
The export gives you a ready to import CSV in the format your sending tool expects, including Smartlead, Instantly, Reply.io, Woodpecker, and Masterinbox. You pick the default per client so you never send the wrong shape of file.
Does running an audit change anything in my accounts?
No. The audit only reads: it looks up DNS for each domain, compares your mailbox list against your sending accounts, and writes its findings back into the app. Any fix is still yours to make from the row.
Does the app buy domains or mailboxes?
No. Buying domains and mailboxes charges your balance the moment it happens, so purchasing stays where it is today. This app is for seeing, maintaining, and exporting what you already own.

Related templates

Klaviyo campaign calendar and draft studio for marketing teams

Plan every email and SMS send on one calendar, see how past campaigns performed inline, and let an assistant write and file the next draft in Klaviyo.

Klaviyo
Slack Bot
App
Run your application review round on Jotform submissions

Your committee opens one board to score every application, see where reviewers disagree, and send the decisions without merging a single spreadsheet.

Jotform
Gmail
Slack
+1
App
Turn any influencer campaign into a client-ready report

Open any campaign, pick this month versus last, and have a written client report drafted into Google Docs and posted to their Slack channel.

Later
Google Docs
Slack Bot
App
Approve every Jotform enquiry before it reaches HubSpot

Work every form enquiry from one queue that already tells you who is new, who is a duplicate and who has a deal open, then push only what you approve.

Jotform
HubSpot
Slack Bot
App
Run cold email domain rotation on one drag-and-drop board

See every sending domain as Active, Reserve or Retiring, watch your bench against the 20 to 25 percent target, and refill it before a domain burns.

InfraForge
Smartlead
Slack Bot
+1
App
Launch console for cold email domains and mailboxes

Pick a client, get ranked domain suggestions with live prices, and buy domains and mailboxes in one confirmed step instead of juggling tabs and a spreadsheet.

InfraForge
Smartlead
Slack Bot
+1
App

Retire the master inbox spreadsheet.

Give your team one screen per client that always matches what is really provisioned and really sending.