# Daily cold email domain health check with automatic fixes

> Every morning at 7am, we check that every sending domain in your InfraForge account is still set up correctly, repair what we safely can, and flag the rest.

- Workflow type: agent
- Services: InfraForge, Slack, Linear
- Categories: Operations, Sales
- Published: 2026-08-14

## What it does

- Every morning at 7am, pulls the full list of domains in your InfraForge account and checks how each one is set up for sending email.
- Compares each domain against the way InfraForge originally configured it, catching settings that are missing, changed, or pointing at the wrong place.
- Repairs the problems where the correct value is obvious, and applies the same correction across many domains at once when they share an issue.
- Posts one Slack summary grouping domains into repaired, still broken, and healthy, and opens a Linear issue for anything that needs a person to fix it at the registrar.

## What you'll need

- An InfraForge account with domains already purchased, plus your InfraForge API key
- Domains that InfraForge originally set up for you, so there is a known-good configuration to compare against
- A Slack workspace and a channel where the morning summary should land
- A Linear account and the team that should receive issues for domains needing manual fixes

## Prompt

Every morning at 7am, audit the DNS configuration of every cold email domain in my InfraForge account and repair what has drifted.

Start with List Domains to get the full inventory of domains on the account. Before checking anything, skip any domain purchased in the last 48 hours, because its records may still be propagating and will look broken when they are simply not live yet. Keep track of which domains you skipped so you can mention them in the summary.

For each remaining domain, call Get Domain DNS and compare the records that come back against the baseline InfraForge originally provisioned: the SPF record, the DKIM records, the DMARC record, and any forwarding records. Flag anything missing, altered, or pointing at the wrong host. InfraForge provisions these domains to a consistent pattern, so when one domain deviates from the pattern that holds across the rest of the fleet, treat that as drift worth investigating rather than assuming it is intentional.

Two rules govern every write, and getting them wrong will break authentication on a live sending domain. First, Update Domain DNS replaces the entire record set for a domain rather than patching an individual record, and it requires the records in the exact order returned by Get Domain DNS. So always call Get Domain DNS for a domain immediately before writing to it, build the corrected record set directly from that exact response, preserve the original ordering, and carry every record that was already correct through unchanged. Never submit a partial record set, and never write based on a read you did earlier in the run. Second, never touch a domain that fell inside the 48 hour window.

Repair automatically only where the correct value is unambiguous, such as a standard record that has gone missing entirely or is pointing at a host that is clearly wrong. When the same DMARC or forwarding correction applies across many domains at once, use Bulk Update Domain DNS rather than repeating single updates. If the correct value is ambiguous, if the record looks deliberately customized, or if the fix has to happen at the registrar rather than inside InfraForge, do not guess: leave the domain alone and escalate it.

Post one Slack summary with Send a Message that groups the domains into three buckets: repaired, listing what was wrong and what it was changed to; still broken, listing what is wrong and why it could not be auto repaired; and healthy, where a count is enough. Note any domains skipped for being under 48 hours old.

For every domain that could not be auto repaired, open a Linear issue with Create Issue naming the specific record that is wrong, its current value, and the expected value, so someone can fix it at the registrar without redoing the investigation. Create one issue per affected domain rather than a single combined issue.

Keep the scope to DNS record integrity. Do not attempt blacklist checks, inbox placement testing, or sender reputation monitoring, as InfraForge does not expose operations for those and the summary should not imply otherwise.

## How to customize

- Change the 7am run time, or run it more than once a day if you push a lot of new domains
- Choose which Slack channel gets the summary and which Linear team gets the issues
- Adjust the 48 hour grace period for newly purchased domains, or restrict which kinds of settings the workflow is allowed to repair on its own

## FAQ

### Will it change my domains without asking me first?

It only makes a change when the correct value is unambiguous, such as a standard record that has gone missing or been pointed at the wrong host. Anything ambiguous, anything that looks like a deliberate customization, and anything that has to be changed at your registrar is left untouched and escalated to you instead.

### What happens to domains I bought yesterday?

They are skipped. Domains purchased in the last 48 hours are still propagating, so their settings can look broken when they are simply not live yet. The summary tells you which domains were skipped for this reason so you know they will be picked up tomorrow.

### Does this tell me if my emails are landing in spam?

No. This workflow is strictly about whether your domains are still configured the way they were set up. It does not check blacklists, sender reputation, or inbox placement, because InfraForge does not expose those. Treat it as the configuration half of deliverability, not the reputation half.

### What if a domain needs a fix I have to make myself?

You get a Linear issue for that specific domain naming the exact setting that is wrong, what it currently says, and what it should say, so whoever owns the registrar account can fix it without repeating the investigation.

### How many domains can this handle?

It works through the full inventory in your account, which is the point: agencies running dozens or hundreds of shadow domains cannot check these by hand. When the same correction applies to many domains, it applies them together in one go rather than one at a time.

Use this prompt in General Input: https://www.generalinput.com/prompts/daily-cold-email-domain-health-check-with-automatic-fixes