| name | email-marketing-plusvibe |
| description | Cold email outreach agent for plusvibe.ai. Campaign planning, subject line optimization, audience segmentation, drip sequence design, deliverability strategy. Writes all outputs to MemOS email-mkt-cube. |
| metadata | {"hermes":{"tags":["email","marketing","plusvibe","campaigns","segmentation","drip-sequences","cold-email","outbound"],"related_skills":["web-research"],"category":"email"}} |
Email Marketing Agent -- plusvibe.ai
When to Use This Skill
Use when asked to:
- Plan cold email outreach campaigns or sequences
- Write or optimize cold email subject lines and copy
- Define lead segments and targeting criteria
- Design multi-step outreach sequences with follow-ups
- Research competitor outreach strategies and benchmarks
- Manage campaigns, leads, or email accounts via the plusvibe.ai API
- Analyze campaign performance and deliverability metrics
- Set up email warm-up strategies
Phase 1 -- Research (ALWAYS do this first)
Before creating ANY campaign content, research the landscape:
Step 1.1: Competitor Email Research
web_search("best email marketing campaigns [industry/niche] 2025 2026")
web_search("[competitor name] email onboarding sequence analysis")
web_search("email marketing benchmarks [industry] open rate click rate 2026")
Step 1.2: Extract Key Benchmarks
From research, capture:
- Industry average open rates (typically 20-25% for SaaS)
- Industry average click rates (typically 2-5% for SaaS)
- Competitor subject line patterns
- Competitor email frequency
- Common CTA styles in the niche
Step 1.3: plusvibe.ai Context
- Product: AI-powered cold email outreach platform at scale
- Core features: Email warm-up, deliverability optimization, AI prospecting (enrichment), AI sequence writer, unified inbox, ESP matching, lead management
- Target audience: B2B sales teams, SDRs, agencies doing outbound prospecting
- Pricing: Personal ($37/mo, 25K emails, 1K enrichment credits), Business ($97/mo, 100K emails, unlimited warm-up), Agency ($297/mo, unlimited inboxes + API access)
- Key differentiators: Built-in warm-up, prospect enrichment in 1 click, AI-driven icebreakers, IP rotation, ESP matching
- Tone: Professional-casual, results-focused, not salesy
- Brand voice: Smart outbound expert who helps you close more deals, not a corporate consultant
- 14-day free trial, no credit card required
plusvibe.ai API Reference
When the task requires programmatic actions (creating campaigns, adding leads, checking stats), use the plusvibe.ai API.
Authentication
curl -s -X GET "https://api.plusvibe.ai/v2/..." \
-H "x-api-key: $PLUSVIBE_API_KEY" \
-H "Content-Type: application/json"
Key API Endpoints
| Category | Endpoint | Purpose |
|---|
| Campaigns | Create campaign | New cold email sequence |
| Create subsequence | Follow-up sequence for a campaign |
| Activate/Pause campaign | Control campaign state |
| Get campaign stats | Performance metrics |
| Get variation stats | A/B test results |
| Leads | Add leads to campaign | Import prospects |
| Get/search lead | Find specific leads |
| Update lead status | Mark interested/not interested |
| Fetch workspace leads | Bulk lead retrieval |
| Get lead counts by status | Pipeline overview |
| Email Accounts | List accounts | Available sending accounts |
| Check account vitals | Deliverability health |
| Enable/Pause warmup | Warm-up control |
| Get warmup stats | Warm-up progress |
| Bulk add SMTP | Import sending accounts |
| Unibox | Get emails | Read inbox |
| Reply to email | Respond to prospects |
| Compose new email | Manual outreach |
| Webhooks | Add webhook | Real-time event notifications |
| Events: FIRST_EMAIL_REPLIES, ALL_EMAIL_REPLIES, ALL_POSITIVE_REPLIES, LEAD_MARKED_AS_INTERESTED, EMAIL_SENT, BOUNCED_EMAIL | |
| Analytics | Campaign summary | Overview metrics |
| Campaign stats | Detailed performance |
| Placement Testing | Create parent test | Recurring inbox placement tests |
| Get test results | Deliverability by provider |
Key Endpoint Details (verified from docs)
Create Campaign
POST https://api.plusvibe.ai/api/v1/campaign/add/campaign
Body: {"workspace_id": "...", "camp_name": "Campaign Name"}
Response: {"status": "success", "id": "campaign_id"}
Add Leads to Campaign
POST https://api.plusvibe.ai/api/v1/lead/add
Body: {
"workspace_id": "...",
"campaign_id": "...",
"skip_if_in_workspace": false,
"skip_lead_in_active_pause_camp": true,
"leads": [
{
"email": "lead@example.com",
"first_name": "Jane",
"last_name": "Smith",
"company_name": "Example Corp",
"company_website": "example.com",
"linkedin_person_url": "linkedin.com/in/jane",
"custom_variables": {"functional_role": "Marketing"}
}
]
}
Response: {"status": "success", "total_sent": 10, "leads_uploaded": 8, "duplicate_email_count": 1}
Get/Search Lead
GET https://api.plusvibe.ai/api/v1/lead/get?workspace_id=...&email=lead@example.com
Response: {id, campaign, status (CONTACTED/etc), contact, email_opened, email_replied, lead_data: {first_name, company_name, is_email_verified (VALID/INVALID/RISKY), ...}}
Add Webhook
POST https://api.plusvibe.ai/api/v1/hook/add
Body: {
"workspace_id": "...",
"name": "My Webhook",
"url": "https://your-endpoint.com/webhook",
"camp_ids": ["campaign_id_1"],
"event_types": ["LEAD_MARKED_AS_INTERESTED", "ALL_EMAIL_REPLIES"],
"ignore_ooo": 1,
"ignore_automatic": 0
}
Webhook Event Types
FIRST_EMAIL_REPLIES, ALL_EMAIL_REPLIES, ALL_POSITIVE_REPLIES, LEAD_MARKED_AS_INTERESTED, EMAIL_SENT, BOUNCED_EMAIL
Phase 2 -- Campaign Planning (Cold Email Outreach)
Step 2.1: Define Campaign Structure
For each campaign, specify:
## Campaign: [Name]
**Goal:** [What success looks like -- quantifiable if possible]
**Audience Segment:** [Who receives this -- behavioral definition]
**Email Count:** [N emails]
**Duration:** [X days/weeks]
**Trigger:** [What starts this sequence]
### Email Sequence
| # | Day | Subject Line | Purpose | CTA |
|---|-----|-------------|---------|-----|
| 1 | 0 | ... | Welcome | ... |
| 2 | 2 | ... | Value | ... |
| 3 | 5 | ... | Feature | ... |
Step 2.2: Subject Line Generation
For EACH email in the sequence, generate 5+ subject line variants using these frameworks:
| Framework | Example |
|---|
| Curiosity gap | "The email trick that 3x'd our open rates" |
| Personalization | "{{first_name}}, your weekly digest is ready" |
| Urgency | "Last chance: early access closes tonight" |
| Value prop | "5 templates that write your emails for you" |
| Social proof | "Join 2,000+ marketers using this workflow" |
| Question | "Are your emails actually getting read?" |
| How-to | "How to write emails that convert in 10 minutes" |
| Number/list | "7 email mistakes killing your conversions" |
For each variant, note which framework it uses and why it fits this email.
Step 2.3: Audience Segmentation
Define segments by BEHAVIORAL signals, never demographics alone:
| Segment | Definition | Signals |
|---|
| New signup (< 7d) | Just created account | signup_date, onboarding_progress |
| Active user | Used platform in last 7 days | last_active, feature_usage |
| Power user | 3+ campaigns sent | campaigns_sent, contacts_imported |
| At-risk | No login in 14+ days | last_login, engagement_score |
| Churned | No activity in 30+ days | last_activity, subscription_status |
Phase 3 -- Campaign Types (Cold Email Outreach)
Initial Outreach Sequence (3-5 emails, 7-14 days)
Email 1 (Day 0): Personalized intro + value prop + soft CTA (reply or book a call)
Email 2 (Day 3): Follow-up — different angle, social proof or case study
Email 3 (Day 6): Value-add — share relevant resource or insight
Email 4 (Day 9): Breakup-style — "Is this relevant?" with clear opt-out
Email 5 (Day 12): Final — "closing the loop" with recap of value
Re-engagement Sequence (2-3 emails, subsequence)
For leads who opened but didn't reply:
Email 1: Reference their opens + new angle
Email 2: Direct question or micro-commitment ask
Email 3: Breakup with value (share a resource before going)
Warm Lead Nurture (3-4 emails, subsequence)
For leads marked as "interested" but not converted:
Email 1: Case study relevant to their industry
Email 2: ROI calculator or comparison data
Email 3: Limited-time offer or exclusive access
Email 4: Calendar link + "let's make it easy"
Partner/Agency Outreach (3-4 emails)
Email 1: Mutual value prop — "we help agencies like yours"
Email 2: Success story from similar agency
Email 3: Partnership offer details
Email 4: Breakup with door-open
Deliverability Best Practices (built into every campaign)
- Warm up new accounts for 14+ days before campaigns
- Start with 20 emails/day, ramp to 50 over 2 weeks
- Use plusvibe.ai ESP matching for optimal sender rotation
- Monitor bounce rates (target < 3%)
- A/B test subject lines using campaign variations
- Use webhooks (BOUNCED_EMAIL, ALL_POSITIVE_REPLIES) for automation
Phase 4 -- MemOS Dual-Write
After creating the campaign deliverables, persist them to MemOS using the
memos_store tool from the memos-toolset plugin. This compounds memory
across sessions so the CEO and other agents can recall past campaigns,
benchmarks and prospect insights.
Why a tool, not curl
The memos_store tool injects identity (user_id, cube_id, API key) from the
profile env vars at call time. The agent never sees credentials. Do NOT use
raw curl — there is no Authorization header to set, no cube to specify,
nothing to copy-paste wrong.
Write Protocol
Derive these once for the whole campaign:
campaign_slug: lowercase-hyphenated form of the campaign name (max 6 words)
session_id: short id reused across all writes for this run (e.g.
email-YYYYMMDD-HHMM or the first 8 chars of a hash of the campaign name)
campaign_type: one of cold-outreach, re-engagement, nurture,
partner-outreach, or your own descriptor
Then write the following memories:
1. Campaign Summary -- one call, the campaign overview + audience + goal:
memos_store(
content="CAMPAIGN SUMMARY: <name>\n\nGoal: <goal>\nAudience: <segment + behavioral def>\nEmails: <N> over <X> days\nTrigger: <trigger>\nExpected open rate: <X%> (industry avg: <Y%>)\nExpected click rate: <X%> (industry avg: <Y%>)",
tags=["email", "campaign-summary", "campaign=<campaign_slug>", "type=<campaign_type>", "source=email-marketing-plusvibe", "session=<session_id>"]
)
2. Email Sequence -- one call PER email in the sequence (atomic memories
search better than a single big blob):
memos_store(
content="EMAIL <n>/<N> -- Day <d> -- <subject line>\n\nPurpose: <purpose>\nCTA: <cta>\nFramework: <subject framework>\nBody: <body or 2-3 sentence summary>",
tags=["email", "email-step", "campaign=<campaign_slug>", "step=<n>", "source=email-marketing-plusvibe", "session=<session_id>"]
)
3. Subject Line Variants -- one call per email's variant set:
memos_store(
content="SUBJECT VARIANTS for email <n> of <campaign>:\n\n1. <variant 1> -- <framework>\n2. <variant 2> -- <framework>\n...",
tags=["email", "subject-variants", "campaign=<campaign_slug>", "step=<n>", "source=email-marketing-plusvibe", "session=<session_id>"]
)
4. Audience Segments + Benchmarks -- one call each, separate so they
can be retrieved independently for future campaigns.
5. Long passages -- if any single content block exceeds ~500 words,
SPLIT it into sequential ≤500-word chunks and call memos_store once per
chunk. Add a chunk=N/M tag so the chunks can be reassembled. Split at
paragraph boundaries, never mid-sentence.
Write Rules
- One
memos_store call per atomic deliverable (campaign summary, each
email step, each subject set, each segment definition).
- Always include
campaign=, source=email-marketing-plusvibe, session=
tags so you can retrieve all memories from a single run with one search.
- The tool returns JSON: on success
{"status": "stored", ...}; on failure
{"status": "error", "error": "...", "detail": "..."}. If you see an
error, log it in the chat once and CONTINUE the campaign — memory
writes are best-effort and must NEVER fail the skill.
- Do NOT retry on error (avoids token burn and duplicate memories).
- Do NOT include credentials or cube_ids in the call — the plugin handles
identity from env vars.
Phase 5 -- Self-Improvement
After completing a campaign:
-
Review output quality:
- Did research inform the campaign? (If not, research step needs improvement)
- Are subject lines varied? (If all use same framework, diversify)
- Are segments behavioral? (If demographic-only, fix segmentation instructions)
-
Patch if needed:
skill_manage(action="patch", name="email-marketing-plusvibe",
file="SKILL.md",
old="[section that failed]",
new="[improved section]")
-
Log in MEMORY.md:
- What was improved and why
- New benchmarks discovered
- Competitor insights worth remembering
Output Format
Present the final deliverable as:
# Email Campaign Plan: [Campaign Name]
## Research Summary
[3-5 bullet points from competitor/benchmark research]
## Campaign Overview
- **Goal:** ...
- **Audience:** [segment name + behavioral definition]
- **Emails:** N over X days
- **Trigger:** ...
## Email Sequence
[Table with day, subject line (top pick), purpose, CTA]
## Subject Line Variants
[For each email: 5+ variants with framework labels]
## Audience Segments
[Table with segment name, definition, signals]
## Benchmarks
- Expected open rate: X% (industry avg: Y%)
- Expected click rate: X% (industry avg: Y%)
## Sources
[URLs from research phase]
Common Mistakes to Avoid
- Don't skip research. Every campaign starts with competitor analysis.
- Don't use generic subject lines. Each must use a specific framework.
- Don't define segments by demographics. Behavior > demographics.
- Don't forget MemOS writes. CEO needs your outputs for cross-agent synthesis.
- Don't write essays. Email copy should be scannable: short paragraphs, bullets, clear CTA.