Marked ⚠️ Superseded by CR-20260727-003; kept for history only.
Removed entirely — client confirmed Blacklist/Duplicate cases are hard-blocked pre-payment at Step 5 onBlur; Zapier Flow 1 no longer has a refund/reject path to dispatch these emails.
Confirmed no remaining references before deletion.
2026-07-28
v1.2
SES-23 Trigger
No CR reference — dangling citation in UC_2.7-2.8_v1.md §Step 3 Exception.
Added Ref: CR-20260728-004 to Trigger field.
Fix dangling citation found during audit.
2026-07-29
v1.3
Klaviyo Events scope note
Blanket statement: all events out of SotaTek scope, middleware/Zapier-routed.
Added trigger-mechanism exception: KLA-02 and KLA-22 fire via direct frontend-to-Klaviyo API call (no middleware/Zapier); all other events unchanged.
Client clarification, 2026-07-29 (Waitlist/Newsletter direct dual-call architecture)
2026-07-30
v1.4
SES-01, SES-02 Discord command copy
Discord /link [Generated UUID] command embedded inline in a sentence.
Command isolated into its own copyable code block (```/link [discord_link_token]```); surrounding sentence kept as plain text guidance. Placeholder renamed to [discord_link_token] to match actual field (Zapier Flow 1 Step 6 — Zapier Integration V7.pdf §Flow 1).
Client comment, 2026-07-30: full command + value should be in a codebox so it's copy-pasteable and works as-is.
Futures/Forex sections styled as plain italic inline labels; Discord instruction said "paste this command exactly as shown".
Futures/Forex sections given distinct bold header labels (🔷/🔶 markers) for clearer visual separation in the rendered email; Discord instruction reworded to explicitly state "copy the command below and paste it directly into the channel".
Client comment, 2026-07-30: make Futures vs. Forex distinction clearer via text size/bolding/layout; Discord block should indicate copy-paste directly into Discord to link account.
SES-04/07/08/16/17 had "Full Email: Pending". SES-24/25 did not exist. SES-26 was added in error.
SES-04: Full template with kyc_link + dots_onboarding_link per Flow 3A. SES-07/08: KYC retry/final-fail templates. SES-16/17: Market data payment failure / feeds disabled. SES-24: KYC manual reset (Flow 3.1). SES-25: Market Data Setup login link (Flow 3D, Futures only). SES-26 removed — Flow 3F Option B payment is completed on dashboard; no email sent.
Stage 3 SES template completion pass. STAGE3-042 applied.
2026-08-16
v1.7
SES-14 (full template); Trigger field corrected
Trigger: "International trader's Dots payout profile suspended / action required". Recipient: "Affected international trader". Full Email: Pending.
Two variants: Variant A (tax form rejected — STAGE3-082, new flow_link) + Variant B (account suspended — STAGE3-038, payout_portal_url). Trigger expanded to cover both trigger paths. Recipient corrected to all traders (not international only — BR_5.4.8 applies all asset classes).
2026-08-22
v1.8
SES-07 Trigger; SES-07 Required content block 1
Trigger: "RESUBMISSION_REQUESTED (document unclear / expired / partial). Also fired when a prior session expires or is abandoned…" — incorrectly listed expired as a document-quality reason inside RESUBMISSION_REQUESTED, and described expired/abandoned as a secondary note. Content block 1: "Explanation that the previous verification attempt requires resubmission" — not accurate for expired/abandoned path.
Trigger: clearly separates RESUBMISSION_REQUESTED (document unclear / partial) from expired (Code 9104) / abandoned as independent Veriff webhook statuses, with auto-renewal logic from CR-20260812-002 cited. Content block 1: covers both resubmission and session-expired/abandoned paths.
CR-20260812-002 applied — expired/abandoned are independent Veriff webhook statuses, not subcategories of RESUBMISSION_REQUESTED.
2026-08-22
v1.8 → v1.9
SES-26 (new)
—
Live_Onboarding_Credentials — Flow 3H Go Live credentials email. Two variants: Futures (R|Trader Pro download + CMR signing note); Forex (MT5/TraderEvolution). credentials_claimed_at initialized to NULL at provisioning.
STAGE3-060 / H-12 confirmed 2026-08-15. Renamed from Live_Onboarding_Level_1. Triggered after POST /provisioning/live-trader Step 4 DB write succeeds (BR_5.8.12).
2026-09-04
v2.1 → v2.2
SES-31 (new)
Không có entry nào cho email invoice thủ công của Path A. Urgent_Data_Payment_Required (SES-16) bị dùng lẫn cho cả nhánh nhắc prepay EOM−7 lẫn nhánh charge lỗi EOM−3.
SES-31 (mới):Invoice_APM_email — Flow 22 Path A, trigger EOM−7, CTA [Pay Invoice] → checkout_link. Body nêu song song hệ quả 2 tier trong một template thay vì tách variant. Tách bạch vai trò: SES-31 = nhắc trader APM tự trả (EOM−7); SES-16 = báo charge thẻ thất bại (EOM−3, Path B).
Copy chốt do BA cung cấp 2026-09-04. Làm rõ ranh giới mà [MDM-BIZ-18] để lẫn.
SES-16 và SES-17 để "Full Email (Assumption — exact copy pending client marketing team)" với copy placeholder do BA tự đặt; SES-16 chỉ có 1 bản, không rẽ nhánh theo tier; không có entry nào cho Zombie_Account_Pause.
SES-16: copy chốt, tách 2 variant theo market_data_billable — Variant A (LIVE Level 1–2, mất toàn bộ feed kể cả CME) và Variant B (LIVE Level 3+, chỉ mất add-on). Bỏ mọi câu hứa grace period / retry. SES-17: copy chốt. SES-30 (mới):Zombie_Account_Pause — Flow 12, kèm khối POD MENTORSHIP STATUS và CTA reactivation_url. Cả 3 bổ sung field From = support@stacktrading.com.
Copy chốt do BA cung cấp 2026-09-04. Khớp [MDM-BIZ-18] (email bắt buộc rẽ nhánh theo tier) và [MDM-ZAPF-06] (không retry hằng ngày). ⚠️ SES-17 vẫn thiếu variant cho Level 1–2 — xem UC_4.17.1 §10 mục 15.
SES-04: template Live_Onboarding_Level_1; trigger included Dots onboarding link simultaneously; email body had both kyc_link + dots_onboarding_link in one email
SES-04 renamed to Live_Onboarding_Compliance_Initiation; Veriff kyc_link only — Dots deferred to SES-29. SES-29 (new): Dots_Payout_Setup — dispatched from Flow 3B (UC_5.2) after Veriff APPROVED with flow_link from POST /v2/flows.
Client confirmed 2026-08-26. BR_5.1.2 + UC_5.1 Step 4 already correct. Email split now reflected in SES registry.
CR-20260726-001: Splits original Welcome_Sim_Challenge (Zapier V7 Step 8) into 3 emails. This is Email 1 — sent immediately after payment, before provisioning completes.
Field
Value
Email ID
SES-01
Template Key
Welcome_Sim_Challenge_Part1
Trigger
Immediately after POST /execute-checkout returns HTTP 200 (pre-provisioning)
Expectation-setting notice: provisioning is underway
Links to community content and insights
Discord Onboarding block: invite link + /link [UUID] command instruction for #verify channel
Full Email (Assumption — exact copy pending client marketing team):
Subject: Welcome to Stack Trading — Your Account is Being Set Up
Header: Welcome to the Trading Floor, [First Name].
Body:
You're in. Your payment was successful and we're now securely building your trading account in the background. This typically takes just a few minutes — we'll email you the moment your credentials are ready.
platform_username displayed in plaintext (password never included)
Single-use "Claim Your Account" link (48 h JWT) — requires email verification, forces Dashboard + MFA enrollment
Platform-specific connection guide:
Futures: R|Trader Pro download link + mandatory activation instructions
Futures (platform-specific): Connection guide for chosen platform (TradeSea / Quantower / ATAS / Motivewave / Sierra Chart / TradingView)
Forex: MT5 or TraderEvolution connection guide
Discord Onboarding block (same as SES-01)
Security:platform_password_ciphertext must NEVER appear in this email.
Full Email (Assumption — exact copy pending client marketing team):
Subject: Your Stack Trading Account is Ready — Claim It Now
Header: Your Trading Platform is Ready.
Body:
Your Stack Trading SIM account has been provisioned. Use the details below to get started.
Your Platform Username:[platform_username]
[Claim Your Account →](single-use link, valid 48 hours)
Clicking the link above will prompt you to verify your email, enroll in MFA, and securely access your trading credentials from the dashboard.
Connect Your Platform
🔷 FUTURES TRADERS — Mandatory Step
You must download R|Trader Pro and log in using your provided credentials to activate your CME data feeds and digitally sign your exchange agreements. Your data feed will remain disabled until you complete this authentication. Your chosen platform will have market data upon completion of this step.
[Download R|Trader Pro] | [Platform connection guide for: TradeSea / Quantower / ATAS / Motivewave / Sierra Chart / TradingView]
Already joined? Go to the #verify channel, then copy the command below and paste it directly into the channel to unlock your private trading floor channels:
CR-20260726-001: Email 3 — dispatched on demand when user's claim link has expired.
Field
Value
Email ID
SES-03
Template Key
Welcome_Sim_Challenge_Resend
Trigger
User clicks [Resend Activation Link] on expired claim screen → POST /public/resend-activation-link (public, no auth — Ref: CR-20260728-006) → new 48 h JWT generated. Distinct from the Admin-only POST /resend-welcome (via BPS), which also dispatches this same template when Ops triggers a resend.
Flow 3A (Branch A — New Trader): Veriff session generated successfully (POST /v1/sessions returns HTTP 200). Dispatched after Veriff session creation succeeds. Dots payout setup link is NOT included here — it is sent separately in SES-29 (Dots Payout Setup) from Flow 3B after Veriff APPROVED.
Recipient
Trader who passed SIM challenge and requires full onboarding (New Trader branch)
Template name history: renamed from Live_Onboarding_Level_1 to Live_Onboarding_Compliance_Initiation (STAGE3-060 / 2026-08-15) to avoid collision with Live_Onboarding_Credentials email at Flow 3H.
Required content blocks:
kyc_link — Veriff hosted verification URL (applies to all traders, all asset classes post-STAGE3-037)
Clear instruction to complete identity verification — this is the only action required from this email
Expectation-setting: trader will receive a second email to set up their payout profile once identity verification is complete
Note:dots_onboarding_link / flow_link is NOT included in this email. Dots payout setup link is dispatched in SES-29 (template: Dots_Payout_Setup) from Flow 3B (UC_5.2) after Veriff returns APPROVED. (Source: UC_5.1 BR_5.1.2; STAGE3-050 / STAGE3-060; client confirmed 2026-08-26)
Full Email (Assumption — exact copy pending client marketing team):
Subject: Action Required: Complete Your Identity Verification
Header: You're One Step Away from Going Live, [First Name].
Body:
Congratulations on passing your SIM Challenge. To activate your live funded account, you need to complete your identity verification below.
Step 1 — Identity Verification
Verify your identity through our secure KYC portal. This typically takes 2–5 minutes with a government-issued ID.
[Start Identity Verification →](link: kyc_link)
Once your identity is verified, we will send you a second email with a link to complete your payout profile setup. Both steps are required before your live account can be activated.
Post-payment restricted region check match (Zapier fail-safe). Issued simultaneously with automated refund (or, for payment_method = CRYPTO, simultaneously with the ledger log + Freshdesk compliance ticket — Ref: CR-20260727-004, since crypto refunds cannot be automated).
Recipient
Trader whose billing country matched Compliance_geo_restrictions
Required content: Immediate refund notice — inform user their payment has been refunded due to regional restrictions. For crypto, wording must reflect manual treasury desk restitution rather than an automated refund (Ref: CR-20260727-004).
Flow 1 Step 4 — POST /provision-sim-user fails after 3 retry attempts (initial + 5 s + 30 s). Ops is alerted via Freshdesk ticket; this email notifies the user that provisioning is delayed. (Ref: CR-20260728-004)
Required content: Inform user their payment was successful but account setup is delayed. Assure them Ops has been alerted and will email their access link shortly.
Explanation that the previous verification attempt requires resubmission (RESUBMISSION_REQUESTED) or that the Veriff session expired / was abandoned without completion (expired/abandoned webhook)
kyc_link — fresh Veriff session URL for resubmission
Guidance on what to improve (clearer documents, better lighting)
Full Email (Assumption — exact copy pending client marketing team):
Subject: Action Required: Resubmit Your Identity Verification
Header: Your Identity Verification Needs Attention, [First Name].
Body:
Our identity verification partner was unable to process your submitted documents. This can happen when images are blurry, partially cropped, or expired.
You have [3 - veriff_attempts] attempt(s) remaining.
Tips for a successful resubmission:
Ensure your document is fully visible and not cropped
Use good lighting — avoid glare or shadows
Make sure the document is valid and not expired
Submit a government-issued ID (passport, national ID, or driver's license)
Flow 3B: Veriff returns DECLINED AND veriff_attempts = 3 (third failure — hard compliance block). veriff_failed_flag = TRUE set in Users table. No further retries permitted without Ops manual reset.
Clear notice that identity verification has failed after the maximum number of attempts
Statement that the account cannot be activated at this time
Contact instruction — trader must reach support to discuss options (manual Ops review path)
No retry link (hard block — veriff_failed_flag = TRUE)
Full Email (Assumption — exact copy pending client marketing team):
Subject: Identity Verification Unsuccessful
Header: We Were Unable to Verify Your Identity, [First Name].
Body:
Unfortunately, we were unable to verify your identity after three attempts. This is a compliance requirement and we are unable to activate your live trading account at this time.
Your SIM account remains unaffected.
If you believe there has been an error or wish to discuss your options, please contact our support team directly: support@stacktrading.com
Our team will review your case and advise on next steps.
UC_5.4 — two paths dispatch this template: (1) Dots suspension webhook fires → payout_status = 'Suspended' (BR_5.4.8 / STAGE3-038); (2) W-9/W-8BEN tax form rejected by Dots Compliance (Kịch bản 1 / STAGE3-082) → new flow_link generated via POST /v2/flows.
Recipient
Affected trader (US or international — all asset classes)
Clear statement: payout profile requires action before live trading can proceed
Explain the specific issue (tax form rejection OR account suspension)
CTA to resolve: Variant A — new flow_link to re-complete tax form; Variant B — link to Dots payout portal
Warning that account activation (Flow 3D) is blocked until resolved
Non-blocking rule (BR_5.4.9): Email dispatch failure must NOT roll back the payout_status = 'Suspended' DB write. Both must execute independently.
Full Email (Assumption — exact copy pending client marketing team):
⚠️ Two variants — select based on trigger path:
Variant A — Tax form rejected (Kịch bản 1 / STAGE3-082)
Subject: Action Required: Your Payout Profile Needs to Be Resubmitted
Header: Your Payout Setup Needs Attention, [First Name].
Body:
Our payout partner was unable to process your tax form submission. This can happen when the information submitted does not match your verified identity documents.
To continue with your live account activation, you need to resubmit your payout profile using the link below:
[Complete Your Payout Profile →](link: flow_link — new session generated)
Inside, you will be asked to:
Re-confirm your tax information (W-9 or W-8BEN)
Verify your payout routing details
Your live account cannot be activated until your payout profile is verified. This step is required by our payout partner for compliance purposes.
If you believe this was sent in error or need help completing the form, contact support@stacktrading.com.
Variant B — Profile suspended / paused / failed (STAGE3-038)
Subject: Action Required: Your Payout Profile Has Been Suspended
Header: Your Payout Profile Requires Immediate Attention, [First Name].
Body:
Your payout profile has been flagged by our payout partner and is currently suspended. As a result, your live trading onboarding cannot proceed until this is resolved.
Common reasons for suspension include:
A tax form (W-9 / W-8BEN) that requires re-verification
A linked bank account that is no longer active or valid
A compliance flag raised by our payout partner
To review and resolve your payout profile, log in to the payout portal:
[Manage Your Payout Profile →](link: payout_portal_url)
If you are unable to resolve the issue through the portal, contact support@stacktrading.com and reference your account. Our team will escalate to the payout partner on your behalf.
Your live account activation is paused until your payout profile status is restored to Active.
📌 [Feed List] chỉ liệt kê các feed sẽ bị tắt, không phải toàn bộ feed trong hoá đơn. Với Level 3+, base CME nằm trong hoá đơn nhưng không bị tắt nên không xuất hiện ở đây.
⚠️ Copy không được hứa retry hằng ngày. Hệ thống chỉ thử charge đúng 2 lần — EOM−3 và Day 0. Ref: BR_4.17.1.23.
📌 Trader trả bằng APM không có vault → [Card Brand] / [Last 4] là null → dùng nhánh fallback: "Your most recent payment via {APM_name} was unsuccessful."
Subject: Action required: update your card before [End of Month Date]
Hi [First Name],
We tried to charge your card on file for your [Billing Month] market data subscription, and the payment did not go through.
────────────────────────────────────
WHAT HAPPENED
────────────────────────────────────
• Payment failed: [Amount] for [Billing Month]
• Card on file: [Card Brand] ending in [Last 4]
• Feeds affected: [Feed List]
────────────────────────────────────
WHAT YOU NEED TO DO
────────────────────────────────────
Update your payment method before [End of Month Date].
[Update Payment Method →]
If [Card Brand] ending in [Last 4] is expired or no longer valid, replace it with a working card. If it's still good, check with your bank that the charge isn't being blocked.
────────────────────────────────────
WHAT'S AT RISK
────────────────────────────────────
If that final attempt fails on [End of Month Date], your market data feeds will be switched off the same day.
You can resubscribe later from Settings → Market Data, but your feeds will remain off until a payment clears.
For assistance, contact support@stacktrading.com.
Subject: Action required: update your card before [End of Month Date]
Hi [First Name],
We tried to charge your card on file for your [Billing Month] market data subscription, and the payment did not go through.
────────────────────────────────────
WHAT HAPPENED
────────────────────────────────────
• Payment failed: [Amount] for [Billing Month]
• Card on file: [Card Brand] ending in [Last 4]
• Feeds affected: [Feed List]
────────────────────────────────────
WHAT YOU NEED TO DO
────────────────────────────────────
Update your payment method before [End of Month Date].
[Update Payment Method →]
If [Card Brand] ending in [Last 4] is expired or no longer valid, replace it with a working card. If it's still good, check with your bank that the charge isn't being blocked.
────────────────────────────────────
WHAT'S AT RISK
────────────────────────────────────
If that final attempt fails on [End of Month Date], your premium exchange feeds will be switched off the same day.
Your base CME feed will remain active as it is covered by the firm.
You can resubscribe to your premium feeds later from Settings → Market Data, but they will remain off until a payment clears.
For assistance, contact support@stacktrading.com.
Flow 22 — End of Month Hard Check ngày cuối tháng: Market_Data_Billable == TrueANDLast_Data_Payment_Status == Failed → broker API tắt feed. Gửi kèm dashboard notification severity CRITICAL.
Biến của template:[First Name] · [Disabled Feeds list]
📌 Một template dùng chung cho cả 2 tier — KHÔNG tách variant. Email này chỉ báo feed nào vừa bị tắt và hướng dẫn resubscribe. Trader LIVE Level 1–2 bị tắt cả base CME thì chính họ hiểu là phải mua lại mới trade được, nên không cần copy riêng. Khác SES-16 (2 variant) vì SES-16 phải giải thích hệ quả sẽ xảy ra, còn SES-17 chỉ báo việc đã xảy ra.
Subject: Your additional market data feeds have been disabled
Hi [First Name],
Your card was still declined by the end of the month, so we've turned off your additional exchange feeds to keep your account in good standing.
────────────────────────────────────
WHAT'S CHANGED
────────────────────────────────────
⏸ Disabled as of today:
• [Disabled Feeds list]
────────────────────────────────────
HOW TO RESUBSCRIBE
────────────────────────────────────
You can restore your premium feeds at any time. Simply log into your dashboard, navigate to Market Data Management, and select the feeds you need. Once your payment clears, your feeds will be re-enabled instantly.
[Re-Subscribe to Market Data →]
────────────────────────────────────
WHY THIS HAPPENED
────────────────────────────────────
This was an automated routine aligned with CME market data billing. If you no longer need the additional feeds, you can leave them disabled and continue trading with your base CME feed.
Flow 3.1: BPS Ops admin triggers POST /api/bps/kyc/reset for a trader. veriff_failed_flag cleared, veriff_attempts = 0, new Veriff session created. Distinct from POST /resend-welcome (Flow 41) which must NOT be used for KYC reset.
Notification that the identity verification process has been reset by the operations team
Fresh kyc_link — new Veriff session URL
Confirmation that the attempt counter has been reset (trader has full 3 attempts again)
Instruction to complete verification at their earliest opportunity
Security: This email is Ops-triggered only. The BPS admin endpoint (POST /api/bps/kyc/reset) is authenticated and audited. A Slack alert is also sent to the Ops channel upon reset.
Full Email (Assumption — exact copy pending client marketing team):
Subject: Your Identity Verification Has Been Reset
Header: Ready to Try Again, [First Name].
Body:
Our operations team has reviewed your account and reset your identity verification. You now have a fresh start — your attempt count has been reset to zero.
Please complete your identity verification using the secure link below:
[Start Identity Verification →](link: kyc_link)
If you have any difficulty completing verification, contact support@stacktrading.com and reference your account.
Flow 3D: All aggregation gates pass for a Futures trader (identity verified + payout approved + Rippling ICA signed) → account_status set to first active level → Market Data Setup login link generated and dispatched. Applies to Futures traders only (Forex traders follow a different activation path).
Recipient
Futures trader who has completed all Level 1 onboarding steps
Market Data Setup login link (single-use or time-limited) to configure exchange data subscriptions
Instruction: must complete Market Data Setup before live trading begins
Reference to the R|Trader Pro step (required for CME data feed activation — already covered in SES-02, but brief reminder here)
Full Email (Assumption — exact copy pending client marketing team):
Subject: Final Step: Complete Your Market Data Setup
Header: Almost There, [First Name] — One Last Step.
Body:
You've completed all the core onboarding requirements. There's one final step before you can start live trading: configure your market data subscriptions.
[Access Market Data Setup →](link: Market Data Setup login link)
Inside, you'll select your exchange data packages. Your selections will determine which markets you can trade and the associated monthly data fees.
Reminder: If you haven't already, download R|Trader Pro and log in with your credentials to activate your CME data feeds.
Once setup is complete, your live account will be fully activated.
SES-26 — Market Data Payment LinkREMOVED (2026-08-14)
Flow 3F Option B payment is completed entirely on the dashboard (frontend calls Calculate Cart + Execute Checkout endpoints inline). No payment link is emailed. (Source: QnA STAGE3-042 confirmed 2026-08-12)
SES-26 re-assigned 2026-08-22 — see entry below.
Flow 3H Step 5 — fired immediately after POST /provisioning/live-trader Step 4 DB write succeeds (account_status → live, credentials stored). Not sent if Step 4 fails (BR_5.8.12).
Recipient
Trader whose live DMA account was just provisioned
Congratulations — live account has been provisioned
platform_username — trader's login handle
CTA button → Dashboard Connections page (app.stacktrading.com/settings/connections) — trader retrieves password via GET /platform-credentials after Auth0 OTP login; password is displayed once on UI only (platform_password_ciphertext — never emailed, BR_5.8.14)
connection_guide_url — link to PDF or Notion setup guide for the platform
(Futures only) R|Trader Pro download link + note that CME subscriber agreements must be signed on first login before data feeds are unlocked
(Forex only) platform name (platform_selection: MT5 or TraderEvolution); trader retrieves server/connection details from Dashboard
Support contact
credentials_claimed_at initialized to NULL at provisioning; set on first GET /platform-credentials call (first Dashboard view). Zapier checks credentials_claimed_at IS NULL before allowing automated credential resend to prevent abuse on active live accounts.
Your Stack Trading live DMA account has been provisioned. To retrieve your secure trading credentials, please log in directly to your secure dashboard.
Field
Value
Username
[platform_username]
Trading Platform
[platform_selection] (R|Trader Pro)
[Reveal Your Password on Dashboard →](link: app.stacktrading.com/settings/connections)
[Download R|Trader Pro →](link: R|Trader Pro download page)
Important: When you first log in to R|Trader Pro, you will be prompted to sign the CME subscriber agreements. Your data feeds will remain locked until these agreements are digitally signed.
Your Stack Trading live account has been provisioned. To retrieve your secure platform connection details, please log in directly to your private dashboard.
Field
Value
Username
[platform_username]
Trading Platform
[platform_selection]
[Reveal Your Password on Dashboard →](link: app.stacktrading.com/settings/connections)
Flow 39 — BPS Admin triggers POST /bps/resend-rtrader-instructions for a trader with account_status = 'SIM_ACTIVE' (Level 0). Middleware resolves template = 'SES-27', fires RESEND_RTRADER_INSTRUCTIONS webhook to Zapier with this template flag.
Recipient
Futures SIM trader whose CME subscriber agreements have not been signed
CME classification rationale: SIM traders operate with simulated capital. CME Group classifies this as personal/educational use → Non-Professional designation applies. Monthly fee: ~$18/exchange/month (firm-covered, trader pays $0.00).
Required content blocks:
Subject: "Stack Trading: Market Data & R|Trader Pro Setup"
Password retrieval instructions — direct to Dashboard GET /platform-credentials after Auth0 OTP login. Password displayed once on UI only. Password MUST NOT appear in email (never emailed).
Agreement signing walkthrough — Step-by-step:
Login to R|Trader Pro using provided credentials
Select classification: Non-Professional
Sign all 4 exchange subscriber agreements: CME, CBOT, NYMEX, COMEX
Close R|Trader Pro and connect trading platform (NinjaTrader 8 / Quantower / etc.) to begin receiving live data
Note: Real-time data feeds remain locked on all connected platforms until signing is complete
Flow 39 — BPS Admin triggers POST /bps/resend-rtrader-instructions for a trader with account_status IN ('Active_Lx_DMA', ...) (Level 1+). Middleware resolves template = 'SES-28', fires RESEND_RTRADER_INSTRUCTIONS webhook to Zapier with this template flag.
Recipient
Futures Live DMA trader (Level 1+) whose CME subscriber agreements have not been signed
CME classification rationale: Live DMA traders operate with the firm's proprietary capital. CME Group legally mandates Professional classification for all proprietary capital trading, regardless of the individual's background. Rithmic's gateway automatically enforces Professional status for Live sub-accounts. Fee: $137.50/exchange/month (firm-covered per BR_5.6.7 allocation). Selecting Non-Professional for a Live funded account is a CME compliance violation — the firm is liable.
Required content blocks:
Subject: "Stack Trading: Market Data & R|Trader Pro Setup"
Password retrieval instructions — direct to Dashboard GET /platform-credentials after Auth0 OTP login. Password displayed once on UI only. Password MUST NOT appear in email (never emailed).
Agreement signing walkthrough — Step-by-step:
Login to R|Trader Pro using provided credentials
Select classification: Professional — mandatory for proprietary capital accounts
Sign all 4 exchange subscriber agreements: CME, CBOT, NYMEX, COMEX
Close R|Trader Pro and connect trading platform (NinjaTrader 8 / Quantower / etc.) to begin receiving live data
⚠️ Compliance warning: selecting Non-Professional on a Live funded account constitutes a CME regulatory violation. If you are unsure, contact support before proceeding.
Note: Real-time data feeds remain locked on all connected platforms until signing is complete
Flow 3B (UC_5.2) — fired after Veriff returns APPROVED webhook AND Middleware completes the 3-step Dots payee creation: (1) POST /v2/users with Veriff legal_name; (2) PUT /v2/users/{id}/addresses with normalized address; (3) POST /v2/flows returns flow_link. Email dispatched with the flow_link. NOT sent at Flow 3A — Dots payee creation does not happen until Veriff APPROVED.
Recipient
Trader whose Veriff KYC was just approved (New Trader branch — Branch A from Flow 3A)
Confirmation that identity verification was successful
flow_link — personalized Dots payout setup URL (session-scoped, generated via POST /v2/flows):
US traders (Billing_Country = 'US'): W-9 tax form pre-filled with Veriff legal_name + address
International traders (Billing_Country ≠ 'US'): W-8BEN tax form pre-filled with Veriff legal_name + address
Clear instruction: payout profile setup is required before the live account can be activated
Expectation-setting: trader will only need to enter TIN (W-9) or DOB + citizenship + signature (W-8BEN) — name and address are already pre-filled
Security:flow_link is a personalized, session-scoped URL from Dots. Must be included as an HTTPS URL and must NOT be logged in plaintext application logs.
Note: Legal name and address are pre-filled by Middleware before flow_link is generated. Dots does NOT pre-fill TIN (W-9) or DOB (W-8BEN) — trader must enter these on the Dots UI. If Veriff did not extract DOB, the DOB field is left blank for trader to fill in (non-blocking, per CR-20260825-001 DOB null-safe handling).
Dots IRS TIN matching: Runs against the stored profile name (POST /v2/users with Veriff legal_name) — NOT the W-9 payload names. Bug in Dots currently in fix as of 2026-08-25 (CR-20260825-001).
Full Email (Assumption — exact copy pending client marketing team):
Subject: Action Required: Complete Your Payout Profile Setup
Header: Your Identity Is Verified — One More Step, [First Name].
Body:
Great news — your identity verification is complete. To activate your live funded account, there is one final step: set up your payout profile so we can send your earnings.
Payout Profile Setup
Complete your payout details through our secure payout portal. Your name and address have already been filled in for you — you will only need to complete your tax information.
(US traders — W-9: enter your Tax Identification Number)(International traders — W-8BEN: enter your date of birth, citizenship country, and digitally sign the form)
[Set Up Your Payout Profile →](link: flow_link — personalized, secure link)
Your live account cannot be activated until your payout profile is verified. Once complete, your account will be activated automatically.
Flow 12 — The "Zombie" Protocol. Cron hằng ngày 02:00 AM Central quét last_trade_date < (Today − 30) → broker API tắt toàn bộ feed (kể cả base CME) → gửi email này.
Biến của template:[First Name] · [Platform_Name] · reactivation_url
📌 Khối POD MENTORSHIP STATUS chỉ render khi trader thực sự đang có pod_leader_id. Trader không thuộc pod nào thì ẩn cả khối. Ref: UC_4.17.1 §10 mục 16.
⚠️ Nhãn CTA trong email là Reactivate Market Data, trong khi nút tương ứng trên dashboard là Resubscribe. Hai chuỗi lệch nhau — Ref: UC_4.17.1 §10 mục 9.
📌 reactivation_url là hành động gộp, khác nút Resubscribe trên từng card: click vào bật lại tất cả feed đủ điều kiện miễn phí cùng lúc, rồi đưa trader về tab Market Data Management. Feed nào đã sang tháng mới (phải trả tiền) thì không được bật, trader tự checkout trên tab. Ref: UC_4.17.1 §6.9.
Subject: Your market data is paused - 1 click to reactivate
Hello [First Name],
Your live market data has been paused. Because your account has not registered a trade execution in 30 days, we have disabled your active exchange feeds to manage inactive connections.
Your account, evaluation status, and historical data remain exactly where you left them.
WHAT IS PAUSED
Live market data feeds in [Platform_Name]
WHAT REMAINS ACTIVE
Account credentials and terminal login access
Evaluation or funded status
Saved layouts, journals, and trade history
POD MENTORSHIP STATUS
Due to 30 days of inactivity, your active Pod Mentorship seat has been released to the waitlist. When you are ready to resume trading, click the link below to instantly reactivate your data feeds.
[Reactivate Market Data](link: reactivation_url)
Note: Clicking reactivate will immediately restore your data feeds. If your previous Pod Mentor has reached maximum capacity during your absence, you will be placed at the front of the waitlist for the next available mentorship seat.
Flow 22 Path A (customer_vault_id IS NULL) — cron chạy tại EOM−7, sinh invoice gộp và gửi payment link để trader tự thanh toán. Gửi kèm dashboard notification severity WARN, category Billing & Subscriptions.
Recipient
Trader thanh toán bằng APM (không có vault token trên NMI)
📌 Một template duy nhất, KHÔNG tách variant theo tier. Body nêu song song hệ quả của cả 2 tier (Provisional Traders (Levels 1 and 2) và Senior Traders (Level 3 and above)) để trader tự đối chiếu.
📌 Gửi đúng một lần tại EOM−7, không có ladder nhắc lại. Lần liên lạc thứ hai (nếu trader không trả) là email hạ cấp SES-17 ở ngày cuối tháng.
📌 checkout_link trỏ về trang Checkout chuẩn đã pre-config product_id = MARKET_DATA, không phải portal thanh toán riêng. Process Payment Webhook bắt payload success → cập nhật market_data_paid_until.
Subject: Action Required: Manual Payment Needed for Market Data
Hello [First Name],
Your market data subscription renews on the 1st of the upcoming month.
Because your account utilizes a non-recurring payment method, we cannot execute an automatic renewal. You must manually settle your open invoice to maintain your data feeds.
[Pay Invoice](link: checkout_link)
Service Interruption Warning
If payment is not captured by the end of the month, your unpaid data feeds will be automatically revoked by the exchange:
Provisional Traders (Levels 1 and 2): Your base CME data feed will be disconnected.
Senior Traders (Level 3 and above): Your premium add-on feeds (NYMEX, COMEX, CBOT) will be disconnected. Your base CME feed is subsidized by the firm and will remain active.
All events below are out of SotaTek scope. Middleware emits webhook payload → Klaviyo API. Copy, layout, and delivery timing managed by client marketing team.
Trigger mechanism exception: KLA-02 (Future_Newsletter_Welcome) and KLA-22 (Waitlist_Welcome) are triggered by a direct frontend-to-Klaviyo API call (email + UTM parameters), bypassing the Node.js middleware and Zapier entirely — Ref: UC_1.2.1, UC_2.1.3. All other events in the table below remain middleware/Zapier-routed. Content, layout, and delivery timing for all events remain out of SotaTek scope regardless of trigger mechanism.
ID
Event Key
Lifecycle Context
KLA-01
Cart_Abandonment
Frontend onBlur on email field (Step 5). Recovers high-intent traffic before checkout drop-off.
KLA-02
Future_Newsletter_Welcome
Homepage footer widget subscription. Initial market insights and onboarding content.