apollo-account-audit
Skill8 starsChanged 46 days agoMITView on GitHub
Audit an existing Apollo account with reads only: mailboxes and daily limits, domain authentication, live sequences that are not actually sending, Bounce Guard, performance history, lists, contacts, credits, Context Center, and website tracking. Graded findings, no changes. Use before running outbound on an inherited or client account, or when a campaign is not sending.
In this repository39 other files it gives its agents.
- account-based-outboundSkill
- apollo-account-auditSkill
- apollo-deliverabilitySkill
- apollo-go-liveSkill
- apollo-icp-builderSkill
- apollo-list-builderSkill
- apollo-multichannelSkill
- apollo-operatorSkill
- apollo-sequence-builderSkill
- apollo-signalsSkill
- business-briefSkill
- campaign-reportingSkill
- experiment-designSkill
- list-quality-scorecardSkill
- operator-contextSkill
- positive-reply-scoringSkill
- re-engagementSkill
- sending-infrastructureSkill
- sequence-reviewerSkill
- weekly-rhythmSkill
- account-based-outboundSkill
- apollo-deliverabilitySkill
- apollo-go-liveSkill
- apollo-icp-builderSkill
- apollo-list-builderSkill
- apollo-multichannelSkill
- apollo-operatorSkill
- apollo-sequence-builderSkill
- apollo-signalsSkill
- business-briefSkill
- campaign-reportingSkill
- experiment-designSkill
- list-quality-scorecardSkill
- operator-contextSkill
- positive-reply-scoringSkill
- re-engagementSkill
- sending-infrastructureSkill
- sequence-reviewerSkill
- weekly-rhythmSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Before you run anything on an Apollo account you did not build, find out what state it is in.
- Distinctive: line 21
Run them in this order, since the early ones explain the later ones.
- Distinctive: line 53
Tidy: test sequences, empty lists, stale Context Center.
- Distinctive: line 57
Stop at findings: No approvals, archives, deletions, limit changes, or list edits from this skill, however obvious the fix looks.
- Distinctive: line 75
Reading an active, silent sequence as a performance result: Check touch status first.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Apollo Account Audit (Foundations)
Before you run anything on an Apollo account you did not build, find out what state it is in. This skill checks the account with reads only and hands back graded findings. It changes nothing: every fix waits for the operator.
It exists because accounts drift quietly. A sequence can sit active for weeks sending nothing, cold email can go out from the company's primary domain, and a website tracker can be installed without ever receiving data, and none of it shows up until someone goes looking. On the first real account this was run on, it found all three in under an hour.
When to use
- Taking over an existing Apollo account, your own or a client's.
- Onboarding a client account through a partner seat, before touching anything.
- "Why isn't this campaign sending?"
- Quarterly, as a standing health check.
The checks
Run them in this order, since the early ones explain the later ones. Grade each area Good, Watch, or Fix.
| # | Area | How | What to look for |
| 1 | Access and team | apollo_users_api_profile, apollo_users_search | Who is on the account, and whether you are reading it as the right user |
| 2 | Mailboxes | apollo_email_accounts_index | Sending from the company's primary domain is a Fix. So is a free-mail domain (is_free_domain) |
| 3 | Daily limits | apollo email-accounts list (CLI): email_daily_threshold, max_outbound_emails_per_hour, seconds_delay_between_emails, warmup status | Compare against the ceiling in apollo-deliverability. A limit far above it is a Fix even when volume is low today. Do not use the analytics metric email_daily_limit: it reported 775 for a mailbox set to 25 |
| 4 | Domain authentication | apollo_domain_purchase_index for Apollo-provisioned domains; your DNS host for the rest | SPF, DKIM, and DMARC verdicts. apollo_email_domain_diagnosis_authentication_status left the published list by 2026-11-08 (it still answered a direct master-key call), so do not depend on it. See sending-infrastructure |
| 5 | Live sequences | Sequence search for active ones, then apollo_emailer_campaigns_show on each, then apollo_emailer_messages_search in metadata_mode | An active sequence with enrolled contacts and nothing scheduled. Check touch status first (below) |
| 6 | Bounce Guard | auto_pause_enabled and auto_pause_config on each sequence object | Guard on, and the sequence's real volume against min_volume. Below it, the guard never evaluates |
| 7 | Performance history | Analytics grouped by emailer_campaign_id, all time, then the sequence's contact_statuses | Any sequence with a real bounce rate above 4%, taken from contact statuses rather than analytics num_emails_bounced (which reported 6 bounces where the UI showed 0). Also archived sequences, which analytics lists and search does not |
| 8 | Idle and test sequences | Sequence search | Inactive tests and abandoned drafts. Clutter, not risk, but a sign nobody owns the account |
| 9 | Lists | apollo labels list (CLI) or apollo_labels_index | Count, empty lists, age, and test lists. The MCP returns them under data, not labels |
| 10 | Contacts | apollo_contacts_search total, then a duplicate sample, then apollo_contacts_find_potential_duplicate on a few dozen recent contacts | Sort by contact_created_at, pull a few hundred, count repeated emails. REST bulk create does not dedupe by default, so recent uploads are where duplicates hide. The duplicate finder also catches pairs with different emails, which a count of repeated emails misses. Report pairs; never merge in an audit, merging deletes |
| 11 | Credits | apollo usage credits or apollo_usage_stats_credit_usage_stats | Any pool at zero, and whether lead credits cover the next planned list. Name the pool, always |
| 12 | Context Center | apollo_context_center_show | Set up or empty, and whether it still matches the business |
| 13 | Website tracking | apollo_website_visitor_domain_tracker_index, then apollo_website_visitor_domain_tracker_install_script if it is not live | Installed but data_received: false means the script is not live. install_script returns the correct snippet and its placement rules, which is the fix to hand over. is_contact_level_tracking_enabled says whether person-level signal is possible |
| 14 | Schedules | apollo_emailer_schedules_index | Send window and timezone against the policy you run to |
| 15 | Compliance | Contact search response, sequence objects, a phone sample | disable_eu_prospecting state against the ICP's countries, unsubscribe counts and opt_out_rate, and whether phone numbers carry DNC screening. The unsubscribe link setting is UI-only, so list it as a manual check. See compliance.md |
The finding that looks like a performance problem and is not
A sequence can be active, with contacts enrolled, and send nothing, because its touches are not approved. Verified 2026-09-14: an active sequence with 5 enrolled contacts had scheduled zero emails in two weeks, and all six of its touches carried status: "to_be_reviewed". Apollo's schema says approved means ready to send; to_be_reviewed is for workflows that need a human to review first. It reads as a dead campaign in any report. Check touch status before diagnosing copy, lists, or deliverability.
Approving touches starts real email, so the audit reports it and stops. The operator decides.
Grading and output
Give each area its grade and one line of evidence. Then:
- Fix first: anything that is sending unsafely, or sending nothing while looking live.
- Watch: things that are fine today and will not be tomorrow (a limit above the ceiling, a guard that never evaluates at this volume, credits that will not cover the next list).
- Tidy: test sequences, empty lists, stale Context Center.
End with the three actions that matter most, in order, and what each needs from the operator.
Stop at findings. No approvals, archives, deletions, limit changes, or list edits from this skill, however obvious the fix looks.
What the audit cannot see
Say these out loud in the report, so a clean audit is not read as a clean bill of health:
- Mailboxes and domains in another sending platform. The domain check only covers mailboxes connected to Apollo.
- Blacklists and inbox placement. Neither is exposed.
- Reply text. Counts and classes only.
- Anything behind the unpublished tools (domain diagnosis among them) without a master API key on the v1 MCP. See
apollo-operator. - Team-level settings changed in the UI, such as Bounce Guard defaults, beyond what each sequence reports.
Privacy
An audit of someone else's account is full of their data: prospects, list names, campaign names, results. Keep the output with that account, never in anything shared or published, and describe findings by pattern when talking about them elsewhere.
Common mistakes
- Reading an active, silent sequence as a performance result. Check touch status first.
- Trusting a domain verdict without its date. It is the last stored check, not a live one.
- Calling low volume safe. A mailbox limit far above the ceiling is a Fix before it is ever used.
- Listing campaigns from search. Archived sequences still carry history in analytics.
- Fixing things mid-audit. The operator decides, after seeing the whole picture.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

