Apollo
Prepared for Qualified · 2026-05-13
Walkthrough

Scheduled Apollo Analytics Skill

A Claude skill that pulls Apollo usage data on a schedule and renders a self-contained HTML dashboard. The reference architecture for the daily-pull pattern you are building inside Relevance.

For
Angelo Quiambao, AI GTM
From
Nick Sproul, Apollo GTME
Status
Draft for review

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:

Why it matters for Qualified

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.

Motion walkthrough
The daily-pull cycle, step by step
Auto-playing · 7-second loop · Rendered with Remotion
Reference diagram (static)
01
Trigger
Cron fires at scheduled time (e.g. 7am daily)
02
Pull
Apollo MCP + API keys fetch sequences, calls, emails
03
Aggregate
Roll up by rep, sequence, date, outcome
04
Render
Inject JSON, write apollo-dashboard.html
05
Consume
Team opens HTML, or Relevance reads inline JSON

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

01
Apollo MCP connector
Connected in Claude. You already have this.
02
Apollo API key
Generate in Apollo: Settings > Integrations > API. Copy.
03
Workspace folder
Where Claude writes the config file and the rendered HTML.

First run

  1. Trigger: say "set up an Apollo dashboard" or "build a live dashboard" in Claude.
  2. Paste your API key when prompted.
  3. Confirm the workspace name. For you this is Qualified (single account, not an agency parent + subs).
  4. Skill writes a config file (apollo-dashboard-config.json) to your workspace.
  5. First run pulls all data and renders apollo-dashboard.html.
After first run

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

  1. Run the dashboard skill once manually to confirm config and output.
  2. Then say "schedule the Apollo dashboard to refresh every weekday at 7am" (or whatever cadence).
  3. 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:

Path A
Read rendered HTML
The data is injected inline as <script type="application/json"> near the bottom of the rendered file. Relevance reads it, parses, and continues.
Path B
Hit Apollo API directly
Use the patterns documented in references/apollo-api-endpoints.md. Cleaner if Relevance can handle authentication and pagination on its own. Recommended for your setup.
Output cadence

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

ElementWhat you'll seeWhat it means
Sub-account filterEmpty dropdownExpected. You have one workspace.
Roll-up panelSingle rowExpected. Same single workspace.
Per-rep filterPopulatedWorks as designed. Filter by AE.
Per-sequence filterPopulatedWorks as designed.

Recommendation

A four-step path to production for your team.

  1. Install the skill and run it once manually on a non-production day to confirm the data looks right.
  2. Schedule it to refresh nightly. Validate it ran in the morning.
  3. Decide whether Relevance pulls from the rendered output or hits the Apollo API directly. I lean toward the latter for your use case.
  4. Tell me where the workflow breaks. I'll help you tighten it.

Open questions for you

1. Cowork plugin or standalone skill folder?
Do you want the skill packaged as a Cowork plugin (drag and drop install) or as a standalone skill folder you can drop into Claude Code?
2. Live walkthrough or solo install?
Do you want me to walk you through the first install live, or are you good to run it solo with the README?
3. JSON output format for Relevance?
Is the JSON-inside-HTML output enough for Relevance, or do you need me to add a JSON-only export option?
Next move

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.