Use a consistent set of email categories across all segments. The categories stay consistent, but the order, messaging, CTA, and level of personalization change by segment.
Content or organic growth goal · Website exists · May use GSC, GA, HubSpot, or a CMS
Ploy
The next best action, based on available signals
Email 1
Welcome / orientation
Your website should be your hardest-working employee
Ploy uses the signals already in your website to find the next opportunity.
Your website has all of this intelligence. It has raw data and signals about who is responding to your brand, how far they are moving into your funnel, what they are doing on your website, who has filled out a form, and who has not.
Ploy takes those signals and uses AI to supercharge your website. It can find the next opportunity, create the work, and help your business grow.
Many businesses think of their website as a liability. We want to turn yours into an asset.
Full email inventory, segmentation logic, CTA system, and Ploybook transition
The email names one specific deliverable or workflow that matches the strongest signal.
User approves03
The CTA approves the action instead of sending the user to documentation or settings.
Ploybook created04
Ploy creates the expert-built recurring workflow directly in the user’s account.
Work continues05
The Ploybook keeps monitoring, reporting, drafting, publishing, or alerting.
Shared category library
Email category library
The brief includes 6 core categories plus conditional modules for continuation, integrations, monitoring, CLI, PloyDB, and low-signal users. Each 5-email path selects from this larger inventory.
01Welcome / orientationIntroduce Ploy and create the first useful signal.Continue
Trigger: Day 0 for every signup
Personalization: CTA only when a clear goal or unfinished project exists
02Continue where you left offReturn the user to the exact unfinished project from signup.Continue
Trigger: Partial FTU activity or unfinished generated work
Personalization: Project type, project name, and last completed step
03Signal-led recommendationName an opportunity and recommend one specific deliverable.Draft / Create
Trigger: A usable stated, inferred, or behavioral signal
Personalization: Persona, goal, website, and observed opportunity
04Publish confidenceExplain how to publish the selected deliverable without a full migration.Publish
Trigger: A publishable deliverable exists and has not been published
Personalization: Exact blog post, landing page, campaign page, or ABM page
05Teams like yoursTeach through a short set of persona-relevant examples.Create
Trigger: Broader education is needed or signal confidence is low
Personalization: Inferred persona and selected example
06Use-case-led integrationConnect one tool to a named marketing outcome.Connect
Trigger: The stated goal is clear and the relevant data source is missing
Personalization: Tool, goal, and expected opportunity
07Monitoring / recurring reportHave Ploy keep watching for the selected opportunity and report when it appears.Monitor
Trigger: The user wants ongoing discovery after the first recommendation
Personalization: Signal type, reporting cadence, and delivery channel
08Integrations / automationConnect existing tools so Ploy can run a specific workflow across them.Connect / Create
Trigger: A technical user selected automation or connected-tool execution
Personalization: Existing stack, workflow, and required action
09CLI / faster executionShow technical users how to create a named page, campaign, or workflow through CLI.Generate / Set up
Trigger: The user selected CLI or showed strong developer-tool intent
Personalization: Exact deliverable and the user’s existing workflow
010PloyDB / CMS workflowTurn blog posts, pages, or structured content into a repeatable publishing workflow.Create / Connect
Trigger: The user selected content operations, an existing CMS, or PloyDB
Personalization: Content type, source system, and publishing destination
011Starter PloybookOffer a low-risk expert-built workflow when the user has not supplied enough context.Create
Trigger: Persona or goal remains unclear after earlier emails
Personalization: The strongest inferred persona or the user’s latest click
012Ploybook creationTurn the selected opportunity into an expert-built recurring workflow.Create
Trigger: The user has a clear goal or selected a specific workflow
Personalization: Deliverable, cadence, source data, and desired result
013Power-user expansionExpand a workflow that the user already understands and uses.Create
Trigger: High product usage or strong repeated intent
Personalization: Existing workflow and the next set of pages, campaigns, or accounts
Optional email modules
Email idea bank
28 missed-opportunity angles from the original brief and project iterations.
Open 28 ideas
Filter the bank
01
DiscoveryAll audiences
Your unfinished project is still waiting
Remind the user that the exact page, workflow, or research task started during FTU is still available and can be continued without starting over.
CTA: Continue where I left off
02
DiscoveryUnknown / low signal
You may be missing the fastest path to first value
Show a short list of concrete results Ploy can create so the user can choose one before another week passes without getting value.
CTA: Show me what Ploy can create
03
DiscoveryMarketer / content
You may be missing [verified count] keywords competitors rank for
Use a verified keyword count, name the content gap, and offer to draft one blog post before competitors strengthen their position.
CTA: Draft this blog post
04
DiscoveryGrowth
[Verified count] companies visited your website
Show the verified number of identified companies so active demand does not remain anonymous or disappear without follow-up.
CTA: Show me companies visiting my site
05
DiscoverySales / GTM
A target account returned to your website
Use the return visit as a time-sensitive reason to research the account and prepare a relevant next action while interest is current.
CTA: Research this account
06
ResearchFounder
Competitors may be setting the launch expectations
Show how similar companies launched so the founder can see the patterns buyers may already expect before finalizing the launch plan.
CTA: Create my launch research brief
07
ResearchFounder
Your audience may already be talking in these Reddit communities
Surface relevant communities and active discussion themes before the company misses the chance to learn from or participate in them.
CTA: Show me relevant Reddit communities
08
ResearchSales / GTM
You may be missing signals from top accounts
Combine company priorities, recent activity, and likely stakeholders into a brief plus one reviewable outreach draft before the signal goes cold.
CTA: Research this account and draft outreach
09
CreateMarketer / content
A keyword opportunity could become your next blog post
Turn one verified keyword gap into a complete draft before another site captures more of the available search demand.
CTA: Draft my next blog post
10
CreateGrowth
This campaign may be losing clicks without a focused page
Use the campaign goal and traffic source to create one focused landing page before more campaign traffic reaches a generic destination.
CTA: Create this campaign page
11
CreateSales / GTM
A target account is still seeing the same generic website
Create an ABM page using the account’s priorities and buying context while the account is actively evaluating options.
CTA: Build this ABM page
12
CreateTechnical
This brief could already be a campaign page
Show the exact campaign page the user could generate from the existing command-line workflow instead of leaving the brief in a queue.
CTA: Generate this campaign page with CLI
13
PublishMarketer / content
An SEO opportunity is waiting on one unpublished blog post
Explain the safest publishing path for the drafted post so the opportunity does not remain trapped in review or migration concerns.
CTA: Show me how to publish this blog post
14
PublishSales / GTM
An engaged account is waiting on an unpublished ABM page
Address migration concerns using the exact account page already created while the account’s interest is still current.
CTA: Show me how to publish this ABM page
15
PublishWebsite / web team
A campaign opportunity is waiting on one page
Explain the safest reverse proxy, domain, or CMS path before the campaign window closes or traffic is sent elsewhere.
CTA: Show me the safest publishing path
16
ConnectMarketer / content
Competitors may be capturing keywords you cannot see yet
Connect Google Search Console so Ploy can keep finding verified keyword and content gaps before they become harder to close.
CTA: Connect GSC to find SEO opportunities
17
ConnectGrowth
Conversion opportunities may be hiding in your analytics
Connect analytics so meaningful changes and underperforming pages do not pass without a recommended test or next action.
CTA: Connect GA to monitor conversion
18
ConnectSales / GTM
Your team may be missing account visits
Send relevant company visits to Slack while the signal is fresh enough for the team to act on it.
CTA: Send account visits to Slack
19
ConnectWebsite / web team
Your content workflow may be stuck in the CMS
Connect the existing CMS or PloyDB so approved blog posts and pages do not wait on repetitive manual publishing work.
CTA: Connect my CMS
20
MonitorMarketer / content
New SEO/AEO opportunities can disappear between checks
Monitor Search Console and send a weekly report so high-potential content gaps are reviewed before competitors move first.
CTA: Create my weekly opportunity report
21
MonitorGrowth
Conversion changes may be going unnoticed
Monitor analytics for meaningful movement and recommend the next page, message, or experiment before performance drifts further.
CTA: Create my conversion report
22
MonitorFounder
New growth opportunities may be passing without review
Combine website, audience, and market signals into a recurring digest so the founder sees the strongest opportunities while they are actionable.
CTA: Have Ploy keep a lookout
23
WorkflowMarketer / content
Competitors can publish on valuable keywords before you do
Create a Ploybook that finds missing keywords, drafts a blog post, routes it for review, and publishes on an agreed cadence.
CTA: Run this Ploybook in my account
24
WorkflowSales / GTM
Warm account visits may be going cold before outreach
Create a Ploybook that identifies engaged accounts, researches their context, drafts outreach, and creates an account page for review.
CTA: Run this Ploybook in my account
25
WorkflowWebsite / web team
Your content backlog may be waiting on manual publishing
Create a PloyDB workflow that turns approved structured content into reviewable pages and publishes them without repeating the same setup.
CTA: Create my publishing workflow
26
ExpandPower user
A working campaign may still be limited to one launch
Expand the proven campaign workflow while the successful inputs and review process are still clear.
CTA: Scale this workflow
27
ExpandPower user
One successful ABM page may be stopping at one account
Apply the proven account-page workflow across the selected target list before other engaged accounts receive a generic experience.
CTA: Create this for every account
28
ExpandPower user
Your team may be missing the workflow’s results
Add review, approval, and notification steps so useful outputs do not stay with one operator or sit unseen.
CTA: Add my team
Engineering handoff
Open the complete implementation brief
Copy-ready Markdown covering cadence, segmentation, state constraints, module logic, persona mappings, copy rules, FOMO, CTA execution, events, QA scenarios, and the launch checklist.
View brief
Agentic activation email system.md
Use this as the source brief for an engineer or implementation agent.
# Agentic activation email system
## Status
Implementation-ready specification for engineering and agent execution.
Before production launch, replace every bracketed placeholder, connect the selected ESP, confirm consent and suppression rules with the responsible owner, and verify every CTA destination.
## 1. Project objective
Build a 14-day activation email system that helps every new signup discover useful parts of Ploy.
The system does not wait for users to complete product actions before sending the next email. Every eligible signup receives the fixed cadence. Available signals change which email module is selected and how its subject, message, deliverable, CTA, integration, and Ploybook are personalized.
The system should:
- help users understand what Ploy can do without asking them to design their own journey;
- recommend one specific next action in every email;
- let the CTA approve work that Ploy can perform;
- use specific deliverables rather than generic references to pages, assets, or workflows;
- expose more of Ploy than website publishing, including research, visitor de-anonymization, integrations, monitoring, reporting, CLI, automation, PloyDB, and recurring Ploybooks;
- move users from initial discovery to a useful one-time result and then to a repeatable workflow.
## 2. Fixed sending cadence
Every eligible signup receives five emails:
| Email | Send day | Purpose |
| --- | --- | --- |
| 1 | Day 0 | Welcome and orientation |
| 2 | Day 3 | Best discovery or continuation module for the current segment |
| 3 | Day 6 | Specific opportunity, deliverable, or feature discovery |
| 4 | Day 10 | Integration, monitoring, education, or workflow recommendation |
| 5 | Day 14 | Ploybook creation, broader education, or power-user expansion |
Actions do not determine whether the next scheduled email is sent. Actions and new signals can change the module or personalization used in the remaining scheduled slots.
## 3. Entry, exit, and suppression
### Entry
Enter the sequence after a valid new signup event:
`user.signed_up`
Required fields:
- `user_id`
- `email`
- `signup_at`
- `source`
- `consent_status`
- `workspace_id`, when available
### Exit
Exit the sequence when any of the following occurs:
- the user unsubscribes;
- the address hard-bounces;
- the account is deleted;
- the user is manually suppressed;
- a workspace-level rule marks the user ineligible;
- the user enters a higher-priority lifecycle campaign that should suppress activation messaging.
Product activity alone does not exit the sequence. It changes future content.
### Frequency and conflict rules
- Send no more than one activation email on the same calendar day.
- Apply the production workspace’s global frequency cap: `[GLOBAL_FREQUENCY_CAP]`.
- Define priority against sales, transactional, product, and other lifecycle emails in `[MESSAGE_PRIORITY_POLICY]`.
- Transactional emails must not be blocked by activation suppression.
## 4. Segmentation inputs
Evaluate the latest available state before rendering each scheduled email.
### Primary split
1. Completed FTU
2. Incomplete FTU or dropped off
### Persona
- Marketer / content
- Growth / lifecycle / demand generation
- Sales / GTM / ABM
- Founder / operator
- Technical / AI-native builder
- Website / web team
- Unknown / insufficient signal
### Goal
Use the stated FTU goal when FTU is complete. Use an inferred goal only when FTU is incomplete, and label it as inferred internally.
### Available signals
- email and company domain;
- company website;
- signup source or referral;
- stated goal;
- first FTU reply;
- persona or team type;
- selected channels;
- generated page, post, workflow, report, research, or other result;
- publishing status of the selected deliverable;
- connected integrations;
- product activity after signup;
- return visits;
- Ploybook creation;
- repeated or high product usage;
- identified companies visiting the website;
- relevant account, campaign, SEO/AEO, conversion, or market signals.
### Signal confidence
- **High:** completed FTU plus a clear persona and stated goal.
- **Medium:** partial FTU, inferred persona, unfinished work, or one useful behavioral signal.
- **Low:** unknown persona, unknown goal, and little or no product activity.
## 5. State constraints
The data model and UI must prevent impossible combinations.
- Incomplete FTU cannot have published selected work.
- Incomplete FTU cannot have high product usage.
- Incomplete FTU should not have a connected post-signup integration unless the integration predates the signup and the implementation explicitly supports that case.
- Published requires a generated deliverable that is publishable.
- Research, reports, visitor lists, community maps, automation workflows, and other non-page deliverables must not trigger publish-confidence messaging.
- Power-user expansion requires repeated sessions, multiple outputs, published work, connected tools, or another verified strong-usage signal.
- Unknown or low-signal users should not receive advanced CLI, automation, or generic integration recommendations.
## 6. Audience and feature map
### Marketer / content
Goals and specific outputs:
- Improve SEO/AEO → blog post targeting a verified content gap.
- Launch blog posts → a specific new blog post.
- Build a content engine → a workflow that finds opportunities and drafts posts.
Features to highlight:
- SEO/AEO research;
- Google Search Console;
- content-gap monitoring;
- content publishing;
- PloyDB content workflows;
- weekly opportunity reports.
### Growth / lifecycle / demand generation
Goals and specific outputs:
- Generate leads → a prioritized list of companies visiting the website.
- Launch campaigns → a campaign landing page.
- Improve conversion → a conversion opportunity report or named landing-page test.
Features to highlight:
- visitor de-anonymization;
- campaign creation;
- Google Analytics;
- HubSpot or CRM routing;
- Slack alerts;
- conversion monitoring and recurring reports.
### Sales / GTM / ABM
Goals and specific outputs:
- Build ABM pages → one ABM page for a named target account.
- Support outbound → an account research brief and outbound email draft.
- Identify engaged accounts → a prioritized list of engaged companies visiting the website.
Features to highlight:
- visitor de-anonymization;
- account research;
- outbound drafting;
- ABM page creation;
- Salesforce, HubSpot, Clay, and Slack;
- visitor-to-ABM Ploybooks.
### Founder / operator
Goals and specific outputs:
- Plan a product launch → a competitor-informed launch brief.
- Find new growth channels → a shortlist of relevant Reddit communities and discussion themes.
- Identify website visitors → a prioritized list of companies visiting the website.
Features to highlight:
- competitor and launch research;
- community and channel research;
- visitor de-anonymization;
- founder-level opportunity monitoring;
- recurring research and opportunity Ploybooks.
Do not make founder recommendations primarily about landing pages.
### Technical / AI-native builder
Goals and specific outputs:
- Automate workflows → a named automated growth workflow.
- Use CLI → a specific page, campaign, or workflow generated through CLI.
- Connect existing tools → a workflow that runs across the selected tools.
Features to highlight:
- CLI / faster execution;
- integrations / automation;
- data sources;
- advanced flows;
- Ploybooks and monitoring.
CLI is an execution method, not a data integration.
### Website / web team
Goals and specific outputs:
- Publish pages → one specific landing page.
- Work with an existing site → one campaign page added through the safest publishing path.
- Build a content workflow → one blog post backed by a CMS or PloyDB workflow.
Features to highlight:
- one-deliverable-first publishing;
- existing-site compatibility;
- reverse proxy, domain, or CMS paths;
- PloyDB / CMS workflows;
- structured publishing automation.
### Unknown / insufficient signal
The sequence should create a stronger signal without asking the user to configure Ploy.
Use:
- the consistent welcome email;
- a small set of concrete outputs;
- Teams like yours examples;
- a low-risk starter Ploybook;
- Continue where you left off when partial activity exists.
Avoid advanced features until the user expresses a clear goal.
## 7. Complete email module inventory
### Core categories
1. Welcome / orientation
2. Signal-led recommendation
3. Publish confidence
4. Teams like yours
5. Ploybook creation
6. Power-user expansion
### Conditional modules
- Continue where you left off
- Use-case-led integration
- Monitoring / recurring report
- Integrations / automation
- CLI / faster execution
- PloyDB / CMS workflow
- Starter Ploybook
Each five-email path selects from this larger inventory.
## 8. Module selection logic
Evaluate before each scheduled slot.
```text
IF slot = Day 0:
send Welcome / orientation
keep subject and body consistent
personalize CTA only when a clear signal or unfinished project exists
ELSE IF FTU is incomplete:
prioritize Continue where you left off when partial work exists
otherwise prioritize Teams like yours
use low-confidence Signal-led recommendation only after a useful click or return visit
recommend a persona-specific or starter Ploybook by Day 14
do not recommend advanced CLI, power-user expansion, or generic integrations
ELSE IF FTU is complete:
IF generated deliverable is publishable and unpublished:
include Publish confidence using the exact deliverable
ELSE:
prioritize Signal-led recommendation
IF a relevant tool is missing and the goal is clear:
include the matching integration, monitoring, or CLI module
IF the user has reached first value or expressed clear intent:
include Ploybook creation
IF verified high usage exists:
Day 14 may use Power-user expansion
ELSE:
Day 14 uses Ploybook creation or persona-relevant education
```
The fixed schedule remains unchanged when branches change.
## 9. Welcome email invariant
The welcome subject and body stay the same across all personas.
Only the CTA may change based on known context or unfinished work.
Default subject:
`Meet Ploy, your AI growth team`
Default preview text:
`Turn a goal, idea, or opportunity into live marketing work.`
Default body:
`Ploy is an agentic growth engine that helps teams turn goals, ideas, signals, and opportunities into live pages, campaigns, workflows, and repeatable systems. Tell Ploy what you want to accomplish, then review and approve the work it recommends.`
CTA examples:
- Continue where I left off
- Draft this blog post
- Show me companies visiting my site
- Show me what Ploy can do for my team
## 10. Copy contract
Every rendered email must include:
- recipient state;
- send day;
- eligibility and suppression rules;
- one message job;
- subject;
- preview text;
- complete body;
- one primary CTA;
- CTA destination or agent action;
- personalization fields and fallbacks;
- success event.
### Clarity rules
- Use literal, complete sentences.
- Name the exact deliverable: blog post, ABM page, account research brief, visitor list, conversion report, Reddit community map, campaign page, or named workflow.
- Never substitute generic words such as asset, thing, work, page, or workflow when a more specific output is known.
- Integrations must be framed through an outcome: “Connect GSC to find SEO opportunities,” not “Connect integrations.”
- CLI must name what it creates.
- Ploybook CTAs create the Ploybook in the account. They do not open settings or ask the user to configure it.
- Every email asks for one primary decision.
- Do not invent proof, keyword counts, visitor counts, deadlines, urgency, or performance claims.
### FOMO rules
Use opportunity-led FOMO rather than artificial pressure.
Good FOMO sources:
- a verified account returned to the website;
- verified companies are visiting anonymously;
- a verified keyword or content gap exists;
- competitors are already ranking for a relevant topic;
- campaign traffic is reaching a generic destination;
- an opportunity is waiting on unpublished work;
- a useful signal may go cold before the team acts;
- an analytics or market change may pass unnoticed;
- manual publishing or handoffs are delaying a known result.
When using a number, pull it from a verified source at render time. If the data is unavailable, use a non-numerical fallback. Never send `[verified count]` to a customer.
Do not use fake scarcity, countdown language, unsupported claims, or fear detached from a real signal.
### Ploy voice
- Clear, direct, proactive, and technically credible.
- Sentence case for subjects, labels, tags, and CTAs.
- No em dashes.
- No fragments used for manufactured drama.
- No “not X, but Y” constructions.
- No generic SaaS language or unsupported superlatives.
- Use Ploy, Ploy Web, Ploy Grow, Ploy Ads, PloyDB, and Ploybooks with correct capitalization.
- Use “visitor de-anonymization” as the formal feature name.
## 11. CTA system
### Create
Use when Ploy creates a specific result or recurring workflow.
Examples:
- Draft this blog post
- Build this ABM page
- Create my conversion report
- Run this Ploybook in my account
### Publish
Use only for a known publishable deliverable.
Examples:
- Show me how to publish this blog post
- Show me how to publish this ABM page
- Show me the safest publishing path
### Connect
Name the tool and outcome.
Examples:
- Connect GSC to find SEO opportunities
- Connect GA to monitor conversion
- Connect Salesforce to build ABM pages
- Send identified account visits to Slack
### Monitor
Examples:
- Create my weekly opportunity report
- Have Ploy keep a lookout
- Alert me when a target account returns
### Continue
Use for unfinished FTU or projects.
- Continue where I left off
## 12. CTA execution contract
A CTA should deep-link into a Ploy action with known context whenever possible.
Required action payload:
```json
{
"user_id": "[USER_ID]",
"workspace_id": "[WORKSPACE_ID]",
"email_id": "[EMAIL_ID]",
"module": "[MODULE_ID]",
"persona": "[PERSONA]",
"goal": "[STATED_OR_INFERRED_GOAL]",
"deliverable": "[SPECIFIC_DELIVERABLE]",
"source_signal_ids": ["[SIGNAL_ID]"],
"requested_action": "[ACTION_ID]",
"return_url": "[RETURN_URL]"
}
```
The user should arrive with the recommended action and relevant context already loaded. Avoid generic product-home destinations.
## 13. Ploybook creation logic
```text
Signal found
→ Ploy recommends one specific action
→ User clicks “Run this Ploybook in my account”
→ Ploy creates the expert-built workflow with known context
→ User reviews the workflow
→ Ploy monitors, reports, drafts, publishes, or alerts on the agreed cadence
```
Required Ploybook fields:
- Ploybook type
- stated or inferred goal
- input source
- monitored signal
- specific output
- cadence
- delivery channel
- approval requirement
- owner
- active or paused state
## 14. Suggested data model
```ts
type ActivationProfile = {
userId: string;
workspaceId?: string;
ftuStatus: "completed" | "incomplete";
persona: Persona;
personaConfidence: "high" | "medium" | "low";
goal?: string;
goalSource: "stated" | "inferred" | "unknown";
featureFocus?: string;
generatedDeliverable?: {
type: string;
id: string;
label: string;
publishable: boolean;
published: boolean;
};
connectedTools: string[];
activityLevel: "low" | "active" | "high";
signalIds: string[];
createdPloybookIds: string[];
};
type EmailModule = {
id: string;
category: string;
messageJob: string;
eligible(profile: ActivationProfile): boolean;
subject(profile: ActivationProfile): string;
previewText(profile: ActivationProfile): string;
body(profile: ActivationProfile): string;
cta(profile: ActivationProfile): {
label: string;
actionId: string;
payload: Record<string, unknown>;
};
fallbackModuleId: string;
};
```
## 15. Rendering and fallback rules
- Recompute the profile before rendering each scheduled email.
- Persist the selected module and rendered personalization for auditability.
- Every personalization field requires a fallback.
- If a specific deliverable is unknown, select a different module. Do not render a generic deliverable.
- If a numerical FOMO claim cannot be verified, use a truthful non-numerical subject.
- If an integration is already connected, do not send a connect CTA. Recommend the workflow it enables.
- If the selected deliverable is already published, do not use Publish confidence.
- If no specific signal exists, use persona education or a starter Ploybook.
## 16. Measurement
Track delivery and state transitions rather than relying only on opens.
Suggested events:
- `activation_email.scheduled`
- `activation_email.sent`
- `activation_email.delivered`
- `activation_email.clicked`
- `activation_email.unsubscribed`
- `activation_action.opened`
- `activation_action.approved`
- `activation_deliverable.created`
- `activation_deliverable.published`
- `activation_integration.connected`
- `activation_ploybook.created`
- `activation_ploybook.activated`
For every metric, define cohort, denominator, and attribution window.
Primary outcome by email: the state transition associated with the CTA.
Guardrails:
- unsubscribe rate;
- complaint rate;
- hard-bounce rate;
- repeated CTA errors;
- personalization fallback rate;
- module-selection failure rate.
## 17. Required production configuration
Fill before launch:
- ESP: `[ESP]`
- sending domain: `[SENDING_DOMAIN]`
- sender name and address: `[SENDER]`
- reply-to: `[REPLY_TO]`
- preference center URL: `[PREFERENCE_CENTER_URL]`
- unsubscribe mechanism: `[UNSUBSCRIBE_METHOD]`
- global frequency cap: `[GLOBAL_FREQUENCY_CAP]`
- production app base URL: `[APP_BASE_URL]`
- CTA action routes: `[ACTION_ROUTE_MAP]`
- event source of truth: `[EVENT_SOURCE]`
- company and visitor identification source: `[VISITOR_DATA_SOURCE]`
- CRM and integration field mapping: `[INTEGRATION_FIELD_MAP]`
- owner for copy approval: `[COPY_OWNER]`
- owner for lifecycle operations: `[LIFECYCLE_OWNER]`
- owner for engineering QA: `[ENGINEERING_OWNER]`
## 18. QA scenarios
Test at minimum:
1. Completed FTU, marketer, SEO/AEO, blog post generated, unpublished.
2. Completed FTU, marketer, content engine, non-publishable workflow.
3. Completed FTU, growth, visitor de-anonymization, CRM not connected.
4. Completed FTU, growth, campaign launch, page generated and unpublished.
5. Completed FTU, Sales/GTM, ABM page generated and unpublished.
6. Completed FTU, Sales/GTM, outbound research, Clay connected.
7. Completed FTU, founder, competitor launch research.
8. Completed FTU, founder, Reddit community research.
9. Completed FTU, founder, visitor de-anonymization.
10. Completed FTU, technical, CLI goal.
11. Completed FTU, technical, automation goal with tools connected.
12. Completed FTU, website team, PloyDB/CMS workflow.
13. Incomplete FTU with unfinished generated work.
14. Incomplete FTU with inferred persona and no project.
15. Unknown persona, unknown goal, low activity.
16. High-usage user eligible for expansion.
17. Already-published deliverable.
18. Integration already connected.
19. Missing numerical signal requiring a truthful fallback.
20. Unsubscribed or suppressed user.
For every scenario verify:
- five scheduled sends remain on Day 0, 3, 6, 10, and 14;
- the welcome subject and body remain invariant;
- the selected module is eligible;
- the deliverable is specific and grammatical;
- the FOMO claim is supported;
- the CTA names the action and opens the correct destination;
- impossible states cannot be selected;
- fallback copy never exposes placeholders.
## 19. Launch checklist
### Engineering
- [ ] Implement the activation profile resolver.
- [ ] Implement module eligibility and ranking.
- [ ] Implement fixed Day 0, 3, 6, 10, and 14 scheduling.
- [ ] Implement per-send profile recomputation.
- [ ] Implement state constraints.
- [ ] Implement CTA action payloads and destinations.
- [ ] Persist selected modules and rendered fields.
- [ ] Implement suppression and conflict rules.
- [ ] Emit measurement events.
- [ ] Add monitoring for failures and fallback usage.
### Lifecycle and copy
- [ ] Approve the invariant welcome email.
- [ ] Approve every persona and goal mapping.
- [ ] Approve module templates and fallback copy.
- [ ] Verify every FOMO claim source.
- [ ] Verify Ploy terminology and capitalization.
- [ ] Verify the subject, preview text, body, CTA, and destination for every QA scenario.
### Deliverability and compliance
- [ ] Verify sender authentication.
- [ ] Verify consent basis and audience eligibility.
- [ ] Verify unsubscribe and preference-center behavior.
- [ ] Verify suppression and frequency caps.
- [ ] Run seed tests across major mailbox providers.
- [ ] Verify mobile and plain-text rendering.
### Final launch gate
Launch only when:
- every placeholder in this document is replaced;
- all 20 QA scenarios pass;
- all CTA destinations work in production;
- no numerical or competitive claim lacks a current source;
- lifecycle, engineering, and copy owners approve the release;
- suppression, unsubscribe, and monitoring are active.
## 20. Acceptance criteria
The system is complete when:
- every eligible signup receives the fixed five-email cadence;
- each remaining email adapts to the latest valid signals;
- every email recommends one specific action;
- every deliverable matches the persona and stated or inferred goal;
- the welcome body stays consistent;
- no impossible state produces an email;
- publishing appears only for a known publishable deliverable;
- integrations, CLI, research, visitor de-anonymization, monitoring, PloyDB, and Ploybooks are represented where relevant;
- all FOMO is supported by a real missed opportunity or verified signal;
- the engineer can implement the workflow without inventing business logic or copy rules.