← ACACONTENT HISTORY

Update to ACA

Snapshot Oct 28, 2026 · 13:05 UTC · version 1.5.3

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save ACA and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Plan and set up a LinkedIn or email outreach campaign in ACA. Use when the user says \"launch a campaign\", \"start outreach\", \"send LinkedIn DMs to [list]\", \"email sequence for [audience]\", \"enroll leads\", or asks to begin contacting a list. Checks the workspace, writes the full sequence, creates an inactive LinkedIn campaign draft on approval, and hands off step building, enrollment, and activation to the ACA app.",
  "included_files": [],
  "name": "aca-launch-outreach",
  "skill_md_contents": "---\nname: aca-launch-outreach\ndescription: Plan and set up a LinkedIn or email outreach campaign in ACA. Use when the user says \"launch a campaign\", \"start outreach\", \"send LinkedIn DMs to [list]\", \"email sequence for [audience]\", \"enroll leads\", or asks to begin contacting a list. Checks the workspace, writes the full sequence, creates an inactive LinkedIn campaign draft on approval, and hands off step building, enrollment, and activation to the ACA app.\nlicense: MIT\ncompatibility: Requires the ACA connector (OAuth sign-in, no API key).\nmetadata:\n  author: ACA\n  version: \"1.1\"\n  homepage: https://www.automatedclientacquisition.com/mcp\n---\n\n# Launch outreach in ACA\n\nACA runs LinkedIn campaigns and native email sequences from the user's own connected accounts. Through the connector, this skill checks readiness, writes the whole sequence, and creates an inactive LinkedIn campaign draft linked to a lead list. Adding steps, assigning senders, enrolling leads, and activating all happen in the ACA app.\n\n## Rules\n\n- Use the ACA connector only. Never ask for vendor API keys or run SQL/API calls.\n- Never invent prospects, emails, companies, or results. Report counts exactly as ACA returns them.\n- Ask before creating anything in ACA. The only write here is `create_linkedin_campaign_draft`, and only after the user approves the name and list.\n- A draft created through the connector is inactive and has no outreach steps. It cannot send. Never say a campaign is live, scheduled, or sending.\n- Email sequences are read-only through the connector. Write the copy in chat; the user builds it and enrolls leads at `/email/sequences`.\n- Stop and hand off if there is no lead list or no connected sender for the chosen channel.\n- If a tool result includes `plan_note` or `plan.limitation`, relay it as a plain fact. Never promote plans, pricing, or upgrades.\n- The connection is bound to one workspace. If the user wants a different one, they switch their active workspace in ACA and reconnect.\n\n## Workflow\n\n### 1. Confirm the brief\n\nRestate in one short message:\n\n- Lead list\n- Channel path (LinkedIn, email, or both)\n- Goal (meetings, replies, lead magnet opt-ins)\n- Offer and main outcome\n- Tone or brand voice\n- Number of touches\n\nAsk one question only if the launch would otherwise be ambiguous.\n\n### 2. Check readiness\n\nCall `get_started`. Note `counts.lead_lists`, `counts.sender_accounts` (connected LinkedIn accounts), `counts.mailboxes`, `counts.campaigns`, `counts.icps`, `counts.products`, and `plan`.\n\nIf `get_started` is not available, call `get_workspace`, `list_lead_lists`, `list_campaigns`, and `list_sequences`.\n\nThen:\n\n- `list_lead_lists` and `get_lead_list` (with `include_members: false` unless you need a sample) to confirm the target list and its `lead_count`.\n- `list_campaigns` with `search` set to the planned name to avoid collisions.\n- `list_sequences` for email, to see whether a sequence already exists that the user may want to reuse.\n\nBlockers and handoffs:\n\n- No lead list: route to `aca-find-leads`.\n- LinkedIn chosen and `sender_accounts` is 0: the user connects LinkedIn at `/accounts`.\n- Email chosen and `mailboxes` is 0: the user connects a mailbox at `/email/mailboxes`.\n- No offer or ICP saved (`icps` or `products` is 0): draft them in chat so the copy has a source, and point to `/assets?tab=products` and `/assets?tab=icps`.\n\n### 3. Write the sequence\n\nWrite every touch in full in chat, in the format the ACA builder expects. Keep the judgment below; it is what makes the sequence work.\n\n**LinkedIn-only (default)**\n\n1. Analyze contact (AI research step, continue on failure). Gives later prompt-mode steps company and role context.\n2. Connection request, prompt mode: \"Write a short LinkedIn connection request under 250 characters. Sound like a peer. Mention one specific business reason this person is relevant. No pitch, no emojis.\"\n3. Delay 3 days.\n4. If connected:\n   - Accepted: Message, prompt mode: \"Write a 2 sentence LinkedIn DM. Reference the contact's likely role or company context. Give one useful observation, then ask a low-pressure question. No pitch.\"\n   - Not accepted: End.\n5. Optional: Delay 4 days, then a short follow-up message with a different angle and a yes/no question.\n\n**Email-only**\n\n1. Email 1. Subject: lowercase, 2 to 4 words (for example \"quick question\"). Body: reference the contact's likely situation, connect it to the offer, end with one soft question. No hype, no fake familiarity. HTML paragraphs.\n2. Wait 3 days.\n3. Email 2 (same thread). A different angle and one practical proof point the user has supplied. End with a yes/no question.\n4. Wait 4 days.\n5. Email 3, the breakup. One or two lines, easy to say no to.\n\n**Multi-channel**\n\nStart on LinkedIn, then move to email when available: analyze contact, connection request, delay, if connected, switch channel, email, if reply received, end. Note for the user that the connector creates LinkedIn drafts only, so the email leg is configured in the app.\n\nFor every message, give the literal copy or the prompt-mode instruction, the delay before it, and the stop condition (stop on reply is on by default for connector drafts). Use only merge variables the user's ACA data actually has (`get_contact` on one member shows the fields). Run the copy through `aca-copy-spam-checker` before handing off if it has not been checked.\n\n### 4. Create the LinkedIn draft (with approval)\n\nFor LinkedIn or multi-channel, propose:\n\n- `name` (3 to 255 characters, not already used)\n- `lead_list_id`\n- `description` (one line: offer, angle, touches)\n\nAfter the user approves, call `create_linkedin_campaign_draft`. To attach senders, call `list_connected_accounts` with `provider: LINKEDIN`, let the user pick active accounts, and pass their ids as `sender_account_ids`; otherwise leave it out and senders are assigned in the app.\n\nFrom the result, report `campaign.id`, `campaign.status`, and the `note`. If `plan_note` is present, show it as returned and do not add claims beyond it.\n\nThen hand off: open `https://www.automatedclientacquisition.com/campaigns/{campaign_id}`, add the steps from step 3, assign senders, review, and activate there.\n\n### 5. Hand off email\n\nFor email, give the paste-ready sequence and send the user to `https://www.automatedclientacquisition.com/email/sequences` to create it, attach mailboxes, enroll the lead list, and turn it on. If a matching sequence already exists, name it with its ID from `list_sequences` so they can edit that one instead.\n\n### 6. Confirm\n\nIf a draft was created, call `get_campaign` to confirm `status` and `sequence_step_count`. After the user says they activated it, route to `aca-pipeline-status`, which reads `get_campaign_metrics`.\n\n## Output format\n\n```text\nACA outreach setup\n\nLead list: {list_name} ({lead_count} leads)\nChannel path: {path}\nSenders: {sender_accounts} LinkedIn, {mailboxes} mailboxes (from get_started)\n\nSequence:\n1. {step} - {copy or prompt}\n2. {delay}\n...\n\nCreated: {campaign_name} ({campaign_id}), status {status}, {sequence_step_count} steps\nPlan note: {plan_note, only if returned}\n\nFinish in ACA:\n- Add steps, assign senders, activate: https://www.automatedclientacquisition.com/campaigns/{campaign_id}\n- Build and enroll email: https://www.automatedclientacquisition.com/email/sequences\n```\n\n## Skill chaining\n\nPreserve the workspace, relevant IDs, the user's brief, approval state, and the written sequence when continuing into another ACA skill.\n\n**Upstream**\n- Called by `aca-kickoff`, `aca-campaign-strategy`, `aca-campaign-copywriting`, `aca-lead-quality`, or `aca-email-sequence-manager`.\n\n**Auto-continue conditions**\n- No lead list: continue to `aca-find-leads`.\n- Lead list quality unknown: continue to `aca-lead-quality`.\n- No connected sender for the channel: continue to `aca-sender-health`.\n- Email chosen and readiness unknown: continue to `aca-email-deliverability-audit`.\n- Copy missing or weak: continue to `aca-campaign-copywriting`.\n- User confirms the campaign is active: continue to `aca-pipeline-status`.\n\n**Stop before chaining when**\n- Creating a campaign draft the user has not approved.\n- The next step happens in the ACA app (adding steps, assigning senders, enrollment, activation).\n\n**Downstream skills**\n- `aca-find-leads`: source a missing audience.\n- `aca-lead-quality`: clean the list before launch.\n- `aca-sender-health`: resolve sender blockers.\n- `aca-email-deliverability-audit`: preflight email risk.\n- `aca-campaign-copywriting`: write missing copy.\n- `aca-pipeline-status`: track the campaign once live.\n\n**Handoff block**\n\n```text\nChain state: {continue|needs_approval|blocked|complete}\nNext skill: {aca-skill-name|none}\nReason: {why}\nCarry forward: {workspace, lead_list_id, campaign_id, sequence_id, written sequence, approvals, constraints}\n```\n\n## ACA tools used\n\n- `get_started`, `get_workspace`\n- `list_lead_lists`, `get_lead_list`, `get_contact`\n- `list_sequences`\n- `list_campaigns`, `get_campaign`, `create_linkedin_campaign_draft`\n- `list_connected_accounts`\n\n## ACA app pages\n\n- Campaign steps, senders, activation: `https://www.automatedclientacquisition.com/campaigns/{campaign_id}`\n- Email sequences and enrollment: `https://www.automatedclientacquisition.com/email/sequences`\n- Connect senders: `https://www.automatedclientacquisition.com/accounts`, `/email/mailboxes`\n- Offer and ICP: `https://www.automatedclientacquisition.com/assets?tab=products`, `?tab=icps`\n"
}

SHA-256 of public snapshot: 7f5f14b05be5e22de37e0bd314c57bf66f98550e9db45a284e5d59cf5dc17e85