Email Demand Tests
Run a full email demand-test loop — landing page, double opt-in, and broadcast — through shiply alone
shiply's email layer lets an agent run a complete demand-test loop with a single API key. One call deploys a capture page and provisions a confirmed-subscriber segment; visitors sign up; each signup gets a double-opt-in confirmation email; you read one merged status object; when you have enough signal you broadcast to confirmed subscribers. Resend is fully managed by shiply — the agent never touches it.
The loop
1. Create a test
// MCP tool: create_test
{
idea: "AI trip-planner",
headline: "Plan any trip in 30 seconds",
sub: "Describe where you want to go and get a full itinerary instantly.",
cta: "Get early access",
price: "$9/mo" // optional — shows social proof
}
// → { testId: "tst_01j...", siteUrl: "https://ai-trip-planner.shiply.now" }Share siteUrl with users. The landing page is live immediately with a
native email-capture form. You do not need to publish a site separately.
2. Visitors submit → they receive a confirmation email
shiply fires a double-opt-in confirmation email automatically. Visitors click the link to confirm. You do nothing at this step.
3. Read status
// MCP tool: get_test_status
{ testId: "tst_01j..." }
// → ONE object:
{
funnel: {
views: 142, signups: 31, confirmed: 19,
conversionRate: 0.134 // confirmed / views
},
email: {
confirmationsSent: 31, // double-opt-in emails sent
delivered: 31, opened: 24, clicked: 19,
bounced: 1, complained: 0, suppressed: 0
},
verdict: {
signal: "strong", // "strong" | "weak" | "inconclusive"
confirmedSignupRate: 0.613 // confirmed / signups
}
}confirmed is the real demand signal — it counts subscribers who clicked
the opt-in link. Raw signups includes everyone who submitted the form but
hasn't confirmed yet.
4. Broadcast to confirmed subscribers
// MCP tool: send_broadcast
{
testId: "tst_01j...",
subject: "You're in — here's what's next",
html: "<p>Thanks for signing up…</p>",
text: "Thanks for signing up…" // optional plain-text fallback
}Only confirmed (double-opt-in) subscribers receive the broadcast. shiply auto-appends an unsubscribe link; you do not need to add one.
5. Resend a confirmation (if needed)
// MCP tool: resend_confirmation
{ testId: "tst_01j...", email: "user@example.com" }Use this if a signup hasn't confirmed and the original email may have been missed.
List your tests
// MCP tool: list_tests
{} // returns all tests for the authenticated key, newest firstCompliance note
Double opt-in means confirmed subscribers have explicitly verified their address. shiply enforces this by construction — unconfirmed contacts never enter the broadcast audience. This keeps your demand tests compliant by default.
Tools summary
| Tool | What it does |
|---|---|
create_test | Deploy a capture page + provision a Resend segment |
list_tests | List all tests for this API key |
get_test_status | One merged object: funnel ⊕ email events ⊕ verdict |
send_broadcast | Email confirmed subscribers (unsubscribe link auto-added) |
resend_confirmation | Re-send the opt-in email to a specific address |