ワンクリックで
sequence-load
Monday auto-load of weekly prospect refresh results into Apollo outreach sequences.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Monday auto-load of weekly prospect refresh results into Apollo outreach sequences.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Relationship intelligence graph for GTM work. Reads and writes Contact/Account/Deal/Outcome nodes in Neo4j Aura. Syncs contacts/accounts from HubSpot MCP and imports call outcomes from Nooks MCP automatically. Surfaces what messaging, sequences, and personas worked across verticals. Use when: relationship graph, gtm brain, log outcome, what worked with, account map, sync from hubspot, import nooks calls, contact history, sequence performance.
Live firm-wide sales pulse from the Epiphan CRM — revenue vs pace, pipeline by stage, won/lost, BDR activity, with coaching takeaways. Use when: business pulse, how are we doing, pipeline health, revenue pace, weekly numbers, standup brief, are we on track, sales snapshot.
Identify stalled and dying deals, run structured disqualification or recovery workflows, and clean pipeline of dead weight. Finds deals stuck 60+ days, with no champion, no activity, or overdue close dates and prescribes either a final re-engagement campaign or formal disqualification. Keeps pipeline honest and frees mental bandwidth. Use when: 'dead deals', 'stalled deals', 'clean pipeline', 'pipeline cleanup', 'disqualify deals', 'deal graveyard', 'zombie deals', 'which deals should I kill', 'pipeline hygiene', 'deal recovery', 'win back', 'lost deal review', 'close out stale deals'.
Chris Orlob's 5-step discovery framework applied to Epiphan — business problem → cause analysis → negative impact → future state → close. Per-vertical root causes, calibrated question bank, MEDDIC integration, and the 0-3 discovery scoring rubric used by sdr-call-coaching. Use when: discovery framework, orlob discovery, discovery questions, cause analysis, business problem discovery, how to run discovery.
Epiphan Video B2B sales - video capture/streaming lead qualification, pipeline metrics, MEDDIC discovery, and demo execution for Pearl devices, EC20 PTZ, and Epiphan Connect. Use for lead scoring, cold outreach to Higher Ed/Government/Corporate AV, and pipeline reviews.
5-touch email/SMS cadence for Epiphan BDR outreach. Full templates for Higher Ed, Courts, Gov, Healthcare by touch. Companion to epiphan-call-playbook (phone). Writing rules, subject line patterns, and SMS guidelines. Use when: email playbook, email template, outreach email, sdr email, cold email template, sms outreach, follow up email, 5 touch cadence.
| name | sequence-load |
| description | Monday auto-load of weekly prospect refresh results into Apollo outreach sequences. |
| schedule | 0 7 15 * * 1 |
| timezone | America/New_York |
<quick_start>
Trigger: Monday 7:15 AM ET (runs after prospect-refresh at 6:30 AM)
Manual Trigger: "Load prospects into sequences" or "Enroll new leads"
Dependencies: Requires Apollo credits, prospect-refresh output, HubSpot portal 21530819
Output: Enrollment confirmation per prospect, sequence assignment, contact IDs for HubSpot creation
</quick_start>
<success_criteria>
Input Source: prospect-refresh HTML report + Gmail drafts
Extract from HTML Report:
Validation:
Output: Structured list of 30 prospects (or fewer if filtering applied)
Step A: Check HubSpot for existing contact
MCP Tool: search_crm_objects (HubSpot)
objectType: "contacts"
filterGroups: [{
filters: [
{ propertyName: "email", operator: "EQ", value: prospect.email }
]
}]
properties: ["email", "phone", "hs_lead_status"]
Decision Logic:
Step B: Check Apollo for duplicate enrollments
MCP Tool: apollo_contacts_search
q_keywords: prospect.email
per_page: 10
Decision Logic:
Dedup Output: List of unique prospects (typically 60-70% of input after dedup)
Golden Rules (Hard Exclusions):
Skip if:
Phone Validation:
Output: Verified prospect list (typically 80-90% after phone validation)
Before sequence enrollment, exclude suppressed contacts:
bdr_suppression_until IS SET AND bdr_suppression_until > TODAYbdr_suppression_until IS NOT SET (never suppressed)bdr_suppression_until < TODAY (cooling period expired)HubSpot filter: propertyName: "bdr_suppression_until", operator: "NOT_HAS_PROPERTY" OR operator: "LT", value: TODAY_ISO
Reference: lead-suppression-spec (bdr_suppressed, bdr_suppression_reason, bdr_suppression_until)
MCP Tool: apollo_emailer_campaigns_search
Search for sequences by vertical + template:
| Vertical | Sequence Name Pattern | Target Sequence ID |
|---|---|---|
| Higher Ed | BDR_HigherEd_OutboundX | [search by name] |
| Courts | BDR_Courts_OutboundX | [search by name] |
| Government | BDR_Government_OutboundX | [search by name] |
| Corporate AV | BDR_CorporateAV_OutboundX | [search by name] |
| Healthcare | BDR_Healthcare_OutboundX | [search by name] |
| Houses of Worship | BDR_HoW_OutboundX | [search by name] |
| K-12 | BDR_K12_OutboundX | [search by name] |
Query Logic:
per_page: 100
# Search returns: id, name, status, num_contacts, num_enrolled
Sequence Selection Rule:
Output: Prospect + sequence_id mapping
MCP Tool: apollo_contacts_search
For new prospects (not found in Stage 2):
per_page: 10
q_keywords: prospect.email
If not found, create contact via:
MCP Tool: apollo_contacts_create
email: prospect.email
first_name: prospect.first_name
last_name: prospect.last_name
title: prospect.title
organization_name: prospect.company
phone: prospect.phone (if available)
label_names: [prospect.vertical, "BDR_Prospect", "2026_Q1"]
Output: New Apollo contact ID (apollo_contact_id)
MCP Tool: apollo_email_accounts_index
Query all linked email accounts:
# Returns: [{ id, email, status, daily_send_limit, ... }]
Selection Logic:
Output: email_account_id (e.g., "6633baaece5fbd01c791d7ca")
MCP Tool: apollo_emailer_campaigns_add_contact_ids
For each sequence (group prospects by sequence_id):
id: sequence_id (from Stage 4 mapping)
emailer_campaign_id: sequence_id (same as id)
send_email_from_email_account_id: email_account_id (from Stage 6)
contact_ids: [contact_id_1, contact_id_2, ..., contact_id_N] (max 100 per batch)
sequence_active_in_other_campaigns: true (allow multi-sequence enrollment)
sequence_unverified_email: false (require verified emails)
status: "active" (start sequence immediately)
Batch Logic:
Expected Success Rate: 95%+ (most failures due to email validation)
MCP Tool: apollo_contacts_search
For each enrolled contact, verify enrollment:
q_keywords: contact.email
per_page: 1
Check response:
Log Enrollment:
✓ jane@acme.com → BDR_HigherEd_Outbound (sequence_id: abc123)
✗ bob@example.com → Phone validation failed
✗ carol@company.com → Already enrolled in BDR_Corporate_AV
For newly created Apollo contacts, create HubSpot counterparts:
MCP Tool: manage_crm_objects (HubSpot createRequest)
objectType: "contacts"
properties: {
firstname: prospect.first_name,
lastname: prospect.last_name,
email: prospect.email,
phone: prospect.phone,
jobtitle: prospect.title,
company: prospect.company_name,
lifecyclestage: "subscriber",
hs_lead_status: "open",
custom_apollo_contact_id: apollo_contact_id,
custom_apollo_sequence: sequence_name,
custom_atl_btl_tier: prospect.atl_btl_tier,
custom_prospect_vertical: prospect.vertical,
custom_prospect_icp_score: prospect.icp_score
}
associations: [
{
targetObjectId: company_id, # Find or create company in HubSpot
targetObjectType: "companies"
}
]
Company Association Logic:
Output: Created contact IDs (to link Gmail drafts)
Format: Markdown table + summary stats
Enrollment Table:
| Prospect | Phone | Vertical | Sequence | Apollo ID | HubSpot ID | Status | |
|---|---|---|---|---|---|---|---|
| Jane Smith | jane@acme.com | +1-555-0123 | Higher Ed | BDR_HigherEd_1 | apollo-123 | hs-456 | ✓ Enrolled |
| Bob Jones | bob@example.com | null | Courts | - | - | - | ✗ Phone missing |
| Carol White | carol@corp.com | +1-555-0124 | Corp AV | BDR_CorporateAV_1 | apollo-789 | hs-012 | ✓ Enrolled |
Summary Stats:
Next Steps: Prospects now enrolled in Apollo sequences. Gmail drafts (from prospect-refresh) ready for manual review + send-from-draft workflow.
As the final step, write to ~/.claude/skill-analytics/last-outcome-sequence-load.json:
{"ts":"[UTC ISO8601]","skill":"sequence-load","version":"1.0.0","variant":"default",
"status":"[success|partial|error]","runtime_ms":[estimated ms from start],
"metrics":{"contacts_loaded":[n],"sequences_updated":[n],"duplicates_skipped":[n],"phone_validation_failures":[n]},
"error":null,"session_id":"[YYYY-MM-DD]"}
Use status "partial" if some stages failed but results were produced. Use "error" only if no output was generated.
Version: 1.0 Last Updated: 2026-03-19 Author: Tim Kipper Status: Production Integration: Apollo + HubSpot (portal 21530819) Tier: P1 (Core BDR Automation) Triggers: Scheduled (Monday 7:15 AM) + Manual ("Load sequences") Dependencies: prospect-refresh (6:30 AM) → sequence-load (7:15 AM) → morning-brief (7:30 AM)