What this is
A Claude skill that pulls Apollo usage data on a schedule and renders a self-contained HTML dashboard. Three refresh modes: manual re-run, in-browser refresh button, or cron-scheduled run via Claude's schedule skill.
It is not the webhook-to-Relevance list pull you asked for on the call. That is a separate build. This skill is the reference architecture for the daily-pull pattern, with two pieces that map directly to your stack: Apollo MCP for the parent account and Apollo API keys for the data pull.
What it produces
A single HTML file with:
- Sequence performance: send, open, reply, and bounce rates per sequence
- Call logs: dial counts, connect rates, voicemail and connected breakdown
- Email activity by SDR: per-rep volume and reply performance
- Call outcome and sentiment: disposition tracking, sentiment scoring where available
- Filters: by rep, by date range, by sub-account (not relevant to your single-workspace setup)
The HTML output is self-contained: no server, no dependencies. Open it in any browser. The Refresh button inside re-pulls data using stored credentials, so you do not need Claude open to refresh. That makes it deployable into your team's existing tooling without changing infrastructure.
Setup flow
A short one-time wizard, then every subsequent trigger reuses the saved config. No credential re-entry.
What you need before running it
First run
- Trigger: say "set up an Apollo dashboard" or "build a live dashboard" in Claude.
- Paste your API key when prompted.
- Confirm the workspace name. For you this is Qualified (single account, not an agency parent + subs).
- Skill writes a config file (
apollo-dashboard-config.json) to your workspace. - First run pulls all data and renders
apollo-dashboard.html.
Every subsequent trigger reuses the saved config. No re-entry of credentials. Output lands in the same workspace folder every run.
Files in the package
# Skill package structure apollo-live-dashboard/ ├── plugin.json Plugin manifest ├── README.md Install + usage └── skills/ └── apollo-live-dashboard/ ├── SKILL.md What Claude runs when triggered ├── references/ │ ├── apollo-api-endpoints.md API mapping per dashboard section │ ├── setup-wizard.md Setup flow │ └── troubleshooting.md Common errors and fixes └── templates/ └── dashboard.html The dashboard template
Scheduling and the Relevance handoff
This is the part that matters for your Relevance workflow. The skill itself does not include a scheduler; it pairs with Claude's schedule skill.
Three-step scheduling
- Run the dashboard skill once manually to confirm config and output.
- Then say "schedule the Apollo dashboard to refresh every weekday at 7am" (or whatever cadence).
- The schedule skill creates the cron entry. Claude runs the dashboard skill on that cadence.
Where Relevance plugs in
You described an end-to-end automation: Apollo for prospecting and enrichment, then a Relevance AI agent for research and email generation. The gap you flagged was getting Apollo data into Relevance on a daily cadence. Two paths to close that loop:
<script type="application/json"> near the bottom of the rendered file. Relevance reads it, parses, and continues.references/apollo-api-endpoints.md. Cleaner if Relevance can handle authentication and pagination on its own. Recommended for your setup.Once scheduled, output lands in the same workspace folder every run. Same filename, same path. Easy for Relevance to point at consistently.
Caveats for your setup
Four things to know before you wire this into production.
1. Single workspace, not agency
This skill was built for an agency parent + sub-accounts. For Qualified, you only need the parent path. The sub-account filtering UI will be empty. That is fine but worth knowing so you do not look for sub-accounts that do not exist.
2. Apollo Calls API exposure is partial
If your team uses the dialer heavily and you do not see complete call data, you can paste a CSV export manually (the skill supports a manual_calls_csv config field).
3. Rate limits
Apollo enforces per-key rate limits. The dashboard paginates and throttles automatically. Large data pulls may take 30 to 60 seconds.
4. Security
The API key is stored in plain text in your local config file. Do not commit it to git. Do not share the rendered HTML externally without scrubbing the key first. The skill includes a --scrub mode that strips the key before export.
Sub-account UI behavior
| Element | What you'll see | What it means |
|---|---|---|
| Sub-account filter | Empty dropdown | Expected. You have one workspace. |
| Roll-up panel | Single row | Expected. Same single workspace. |
| Per-rep filter | Populated | Works as designed. Filter by AE. |
| Per-sequence filter | Populated | Works as designed. |
Recommendation
A four-step path to production for your team.
- Install the skill and run it once manually on a non-production day to confirm the data looks right.
- Schedule it to refresh nightly. Validate it ran in the morning.
- Decide whether Relevance pulls from the rendered output or hits the Apollo API directly. I lean toward the latter for your use case.
- Tell me where the workflow breaks. I'll help you tighten it.
Open questions for you
Tell me which package format you want and I'll send it over today. From there, plan on 30 minutes for first install and validation.