AstraLuna / Automation blueprint / October 21, 2026 PHT

From a paid order
to a personal reading.

A GHL-centered customer journey with automated production, versioned brand and reading prompts, private PDF delivery, and a Slack alert for every successful sale.

4 GHL drafts saved12 native email templates saved6 n8n drafts saved inactive

The public landing route and $19.99 offer were browser-verified October 19. The October 21 private inventory confirms the reusable assets. Payment, generation, inbox delivery and the complete customer journey still require testing.

Recommendation: keep GHL as the customer layer and use n8n with a durable order/item ledger for generation and recovery. The design supports automatic fulfillment. The build now has 4 GHL drafts and 6 inactive n8n drafts. Runtime connections and end-to-end acceptance tests remain incomplete. Nothing has been activated or sent.

1existing USD 19.99 product
12saved native email templates
4saved GHL workflow drafts
6birth-intake fields
01 / Customer journey

From purchase to a reading in the inbox

Keep the native GHL purchase journey. A verified paid event creates the order, starts a separate Slack notification, and queues production only when that item has complete, correctly matched inputs.

Purchase and successful-sale notification intake GHL native funnel Birth details → checkout paid A1 · Payment Received: Success Verify account, mode, product, amount, currency intake->paid ledger Persist event + paid order + item records Unique provider/event/order/item keys paid->ledger verified hold Pending / failed / mismatch No production; reconcile or owner exception paid->hold not eligible ready Matched, usable item intake? ledger->ready confirm E07 · Order confirmation Once per order; actual amount + next steps ledger->confirm slack Sale outbox · parallel branch Proposed #astra-luna-sales 1 notification per paid order ledger->slack missing Awaiting Details + E08 Secure per-item intake link Validate and freeze version ready->missing no queue A2 · Ready → queued Set ready_at and due_at once Continue in Production view ready->queue yes slackok Record channel + message timestamp Retry/reconcile failure independently slack->slackok missing->queue usable + paid

Select a view. Green marks an eligible handoff, gold a decision, and rose an exception. The diagram shows the durable outbox design. The saved draft currently selects native GHL G04 for sale alerts; n8n A6 is an inactive alternative. Both paths require delivery testing.

What the customer experiences

  1. Choose the birth-chart reading and provide birth details.
  2. Review the $19.99 USD order and pay through native checkout.
  3. See a payment-status page and receive confirmation after successful payment is verified.
  4. Supply any missing details using an order-specific link.
  5. Receive the automatically generated and validated PDF by email.
  6. Reply for help, then receive the eligible service follow-up.

What determines readiness

Paid + complete, validated, correctly matched intake = Ready. A form submission, page visit or pipeline movement does not prove payment.

Confirmed direction: fully automated production, validation and delivery, with no routine human approval. Proposed internal target: 5–15 minutes after payment and complete inputs; this is not a measured result or public promise. Set the customer delivery SLA after end-to-end timing tests.

Thank You must show a neutral verification state when payment is unknown. It must never enqueue work.

02 / Tool stack and cost

Keep GHL in front. Use n8n for production.

Recommended: retain GHL for checkout, customer records, email and support. Use n8n with a durable order ledger for generation, validation, files and recovery. The lowest total cost depends on hosting, volume and operator time.

Recommended architecture

GHL + n8n + a transactional ledger

GHL stays the team’s customer workspace. n8n routes paid items, calls the calculation/model services, renders PDFs and coordinates guarded delivery. A database stores immutable order/item records and atomic claims; execution history is not the ledger.

Use the existing managed n8n host only after checking capacity, backups, restore, credentials and monitoring. Community software is free, but infrastructure and maintenance still cost money.

Alternative to prototype

Primarily native GHL

GHL has Payment Received, custom webhooks, GPT, Slack, email and Documents & Contracts. A native design may suit a short, simple output.

Prototype the long-form report renderer, per-item data binding, concurrent repeat orders, conditional chart/card sections, evaluator, private PDF attachment and recovery before choosing it. Native document capability alone does not prove this complete reading pipeline.

ComponentProposed ownerReason / build check
Funnel, form, checkout, CRM and supportGHLReuse native editable pages and saved templates. Prove attempt-to-item correlation; current form saves contact fields only.
Payment truthPayment provider, reconciled through GHLSuccess trigger is the signal. Verify provider transaction, actual order/items, total, mode and entitlement.
Orchestration and recoveryn8nProduct routes, provider calls, retries, timers and reconciliation. Persist checkpoints before side effects.
Order/item and event recordTransactional databaseUnique keys, atomic job and send claims, immutable input/report versions, outbox and audit history.
Facts and interpretationChart / tarot method + AI writer + evaluatorCalculate or record evidence first. Writer and evaluator use versioned contracts and structured outputs.
Report and deliveryPDF renderer + private storage + GHL email adapterGHL Send Email supports templates and optional attachment URLs; the messaging API supports HTML and attachment URLs. Prototype pinned template rendering with order-specific values and a unique item PDF. Do not assume a template ID performs merge substitution.
Sales notificationGHL G04 selected; n8n A6 alternativeIndependent of generation. Deduplicate by paid order, reconcile unknown outcome, record acknowledgement.

Published rates, checked October 21, 2026

ServicePublished baselineBudget implication
GHL premium actions$0.01 per execution after 100 lifetime free actions per eligible subaccountPayment webhook bridge: $1 per 100 sales at 1 action/order. Native Slack as another premium action: $2 per 100 sales for both. Excludes intake, callbacks, other actions and agency rebilling. Premium pricing
Workflow Pro$10/month includes 10,000 premium actions; then $0.008/actionCompare total premium volume. External AI charges are separate. Plan details
GHL GPTBase token pricing mirrors OpenAI; zero platform markup statedSelected model, input/output tokens, evaluator and repairs determine cost. Agency rebilling may apply. Do not use a historical fixed GPT fee. Model pricing
LC Email$0.675 per 1,000 emailsCount confirmations, delivery, follow-ups and exceptions. Authentication, provider path and actual account billing still need verification. LC Email
n8n CommunityFree software; self-hosting costs excludedMay have low incremental cost on existing capacity. Budget hosting, backup, security updates and operator time. Community features
n8n CloudStarter €20/month annually: 2,500 executions, 5-minute execution limit. Pro €50/month annually: 10,000 executions, 40-minute limitSchedules, callbacks and retries consume executions too. Confirm current plan limits before purchase. n8n pricing

Illustrative marginal costs

This calculator covers the payment bridge and 4 routine LC emails per order only. It excludes GHL subscription, n8n, AI, chart engine, storage, PDF generation, retries, taxes and operator time.

$1.001 premium bridge/order
$0.274 LC emails/order
+$1.00optional native Slack action

Uses standard metered rates without the free allowance or Workflow Pro. Actual account billing and pilot cost remain unmeasured.

Avoid the idle-polling cost trap. A 1-minute n8n schedule can create 43,200 executions in 30 days before any orders arrive. Use persisted due_at timers and bounded reconciliation, with the actual n8n hosting and wait/execution behavior tested. Timers cover known jobs only. To recover a missed payment event while pursuing the unmeasured 5–15 minute target, propose incremental provider-payment reconciliation at no more than 5-minute intervals, using a persistent cursor, overlap and deduplication. A 5-minute n8n schedule still uses 8,640 runs in 30 days before jobs, callbacks or retries: Cloud Starter is insufficient, and Pro’s 10,000 allowance may also be insufficient. Prefer maintained self-hosted n8n or a monitored host/database worker for this scan if available. A longer interval requires a looser recovery promise. Retain a separate daily money audit and monitor-health alerts; confirm cadence and recovery SLA before release.

Cost and capacity benchmark before selecting a plan

For each SKU, record writer/evaluator input and output tokens, repair rate, chart costs, render time, storage, email count, n8n executions, support time and total paid-to-accepted time. Compute both infrastructure cost and total operating cost. Select the cheapest option that passes identity, recovery and delivery tests at expected concurrency. Pin approved model versions; do not trade output quality for an unmeasured token saving.

03 / Workflow specification

A shared engine with explicit handoffs

WorkflowTriggerActionsResultFailure / stop rules
Intake prerequisiteValid native form submittedGHL saves contact fields; orchestration stores immutable intake ID, product/version, timestamp and consent separately.Generate checkout-attempt correlation. Never match only on latest contact fields or email.Invalid/ambiguous input stays out of production. Multiple-tab and repeat-order matching must pass QA. Paid items Awaiting Details have their own aging clock: propose reminders at +24h and +48h, then an owner case at +72h, subject to approved service terms. Recheck completion, refund and hold before each action; do not wait for ready_at to monitor these items.
A1 · Order paidGHL Payment Received filtered to Success and approved product/source, then downstream provider verificationAuthenticate the event using the provider-supported verification method, then validate provider account, mode, status, amount/currency and order/items. Enforce quantity 1 per product line in the pilot; unsupported quantities become owner exceptions. Persist event; upsert 1 order, 1 job per item; enqueue E07 once per order and a separate deduplicated sale-alert outbox entry. Resolve the transaction to its actual order/items before fulfillment.Ready if correctly matched intake is usable; otherwise Awaiting Details + E08.Pending/declined does not queue. A pending payment is reconciled before a new charge attempt is permitted. Duplicate events return existing state. Unknown product/price or mismatch creates owner exception.
A2 · ProducePaid item becomes ReadySet ready_at once; enqueue job. Calculate chart or run configured product method. Draft from structured results; produce private versioned PDF.Run deterministic checks and a separate automated content evaluation. Pass records a validation decision for the exact input/report version; repairable failures regenerate within bounded attempts; persistent failures enter Exception Hold.Reuse the job key and existing valid results. Missing/invalid customer inputs request clarification; missing engine configuration holds for the owner. Transient engine/file errors use up to 3 infrastructure attempts; content failures use up to 2 repair attempts after the initial generation, then hold and alert.
A3 · Validate and deliverAutomated checks pass for the current input/report versionRecheck current payment/refund/dispute state, order identity, recipient, current intake version, current releasable validation, file checksum and delivery key. Dispatch the validated PDF automatically using E10.Record provider message ID, accepted_at and delivery callbacks separately.Refund/case/wrong recipient/missing artifact blocks release. Timeout after send is reconciled before any resend.
A4 · Deadline watchPersisted warning/due timers plus bounded known-job recovery scanScan active incomplete items against immutable ready_at/due_at regardless of pipeline stage. Exclude accepted dispatches, cancelled items and confirmed fully refunded items. Warn owner at the configured warning threshold, proposed 80% of the customer SLA; mark overdue at due_at. Timing remains configurable until measured.Send E09 automatically once when overdue, using factual delay wording without an invented ETA. A later specific ETA requires operational evidence. Accepted dispatch ends the production-to-send SLA; later bounce creates a separate delivery-failure case. Track confirmed-delivery timing separately.Alert deduplication per item/threshold. Stage changes and retries never restart the clock.
A5 · After deliveryAll non-cancelled order items have a provider delivery event, or documented send-accepted fallbackSchedule 1 E11 per order at +2 days and 1 E12 at +5 days from the last eligible item delivery basis. Recheck every item and order eligibility before sending.Record delivery basis; fallback is never reported as confirmed inbox delivery.Suppress for bounce, refund/dispute, unresolved case, relevant opt-out or reply needing help. Feedback eligibility is not sentiment-based.
Support and refund handlingInbound reply, bounce, refund/dispute event or owner actionOpen order-linked case; hold affected production/delivery and follow-ups. Reconcile money status with provider.Owner resolves; E14 follows confirmed refund outcome. Resume only affected item after checks.Do not treat moving a pipeline card as proof of refund. Partial refunds need item allocation and explicit disposition.
ReconciliationIncremental verified-payment recovery scan, proposed ≤5 minutes if targeting rapid delivery; separate daily money audit and persisted item due timersRead provider-paid changes with a persistent cursor and overlap; deduplicate and compare against ledger/jobs to recover missed webhooks. Separately compare validated reports against send/delivery logs and unsent Slack outbox entries. Daily money audit remains a second control.Recover missed events through the same idempotent paths; alert owner on unresolved mismatch.No blind workflow replay. Unknown send outcome goes to reconciliation. If the provider cannot resolve it, open a manual exception; an owner decides and records any resend after checking available message evidence.

Recommended system roles

GHL: native pages, forms, checkout, CRM, order-view pipeline, sender and support conversations.

Payment provider: payment and refund authority.

n8n: persisted orchestration, product routing, generation, PDF assembly, retries, scheduled reconciliation and delivery coordination.

Durable database: order and item ledger with unique keys and atomic claims. Select the supported host before build; contact fields and n8n execution history are not the order ledger.

Automated validator: checks calculated facts, content structure, PDF integrity and correct order/recipient. Successful readings deliver without a human step. The owner receives exception alerts; the team also receives a deduplicated alert for each successful sale.

Order record and pipeline

1 order per provider order. Pilot quantity is fixed at 1 per product line, giving 1 fulfillment job per line. Multiple units require order + line + unit keys and separate intake before quantity can be increased. The visible pipeline mirrors item state:

Awaiting Details → Queued → In Production → Automated Validation → Ready to Send → Sent → Delivered, when confirmed

Hold / Problem is a separate case state. Keep payment state, fulfillment state and delivery state separate so a refund or bounce is never hidden by a stage change.

Store order/item/payment IDs, product and price version, amount/currency, contact + order-bound delivery email, intake ID and immutable snapshot, method/template version, ready/due timestamps, report checksum/version, validation decision and validator version, message ID, delivery status and case/refund state.

Build rules for duplicate protection and recovery
  • Deduplicate provider events by provider + account + event ID. Use provider order ID and line-item ID to enforce unique order/jobs.
  • Use a separate delivery key for item + validated report version + intended message type. Claim it atomically before sending.
  • Freeze subject, rendered body, recipient, PDF checksum and template/version as an immutable send artifact. Store the dispatch request and provider message ID. Reconcile an unknown timeout before retrying. A retry must never recreate a charge. The GHL API emailTo must be a valid associated contact address; if the current contact association differs from the frozen recipient, hold and resolve ownership instead of silently changing contact data.
  • Any correction to input or recipient creates a new version, invalidates prior validation, cancels queued release and holds the item. Recalculate/regenerate and validate again; never silently edit a frozen snapshot. If already sent, open a correction case and issue an explicitly marked corrected replacement after successful automated validation. A3 atomically confirms its validation still matches the current releasable version.
  • Pilot attachment delivery uses the immutable delivery email captured on the paid order. This binds the address to the order; it does not prove mailbox ownership, and complete-intake orders do not gain an extra verification step. Missing-intake links use a single-use expiring token sent only to that order email. Consume the token only on a successful explicit submission, never on GET or an email-scanner visit. Email changes require verification of the new mailbox and an owner-recorded order-ownership check, then invalidate queued release; a contact field edit alone is insufficient. A future private-download mode must define and test its own access verification before activation.
  • Capture current customer timezone separately from birthplace timezone. If unavailable, display due dates explicitly in UTC, including the date and timezone label. Birthplace timezone is used only for chart calculation.
  • Snapshot intake before checkout and carry a supported attempt identifier into payment correlation. Prove the native mechanism; if unavailable or ambiguous, obtain a verified post-payment intake rather than guess from latest contact fields.
  • Bound transient production retries, proposed 3 attempts with backoff, then alert the owner. Do not retry invalid inputs; failed content checks get only the defined repair attempts.
  • Check the refund/dispute/case state immediately before dispatch. A concurrent refund after the final check becomes a recorded exception; an email already sent cannot be recalled.
  • Run scheduled reconciliation and preserve original SLA timestamps through retries, revisions and pipeline movements. Monitor the reconciliation worker itself and use bounded concurrency with backpressure.

Official trigger and integration references: Payment Received, Custom Webhook, Documents & Contracts custom values. Trigger delivery is not proof of correct item/recipient mapping.

04 / Prompt routing

2 source documents become a controlled generation contract.

The brand guide provides tone. The reading document provides 5 specialized prompts plus a master prompt. Their rules must be reconciled with the paid SKU before any prompt is allowed to generate a customer report.

Factual + safety contract→Versioned brand rules→Compatible master rules→Mapped SKU prompt→Verified item inputs

The factual contract wins if a style instruction conflicts with accurate service information. Keep customer questions and free text inside data fields, not instructions. Do not hot-reload a changing Google Doc for each order: save an approved version and hash, record it on the job, and test revisions against reference cases.

Paid offerSupplied prompt mappingEvidence and release condition
Existing astrology / catalog Astral Love, $19.99Birth Chart Psychic ReadingFits the existing birth-date/time/place form. Calculate placements, valid houses/aspects and dated transits. Include the 7 thematic sections and exactly 3 personalized reflection questions. This existing SKU maps by ID to the supplied Birth Chart prompt. The similarly named tarot prompt stays unmapped; chart-engine validation is still required.
Soulmate Love Reading, $18.99Deep Soulmate Psychic Reading, proposed mappingKeep the catalog’s recorded 5-card spread. Confirm actual product ID and spread-to-section contract. Potential partner descriptions are symbolic possibilities, not facts about identity, appearance or arrival dates.
Past Love Reading, $18.99Past Love and Heart Connection ReadingUse 6 recorded cards with licensed imagery, positioned interpretations and closure/boundary guidance. Never infer private feelings as fact or encourage waiting indefinitely.
5-Question Reading, $19.99Five-Question Psychic Tarot ReadingCollect exactly 5 questions after payment. Preserve order and wording. Each answer group references the card(s) recorded for that question. The source does not fix the total number of cards; approve that spread. Include synthesis and 3 practical suggestions.
Soulmate Love Letter, $9.99Dedicated prompt missingThe catalog promises 1,000+ words. The master prompt is not a substitute for a letter-specific contract. Prepare and approve its prompt, sample and rubric before activation.
Supplied “Astra Love Psychic Reading”Unmapped tarot promptThis prompt explicitly uses tarot. The existing catalog calls “Astral Love Reading” a birth-chart product. Do not route by the similar name, rename the current product, or silently replace astrology with tarot. Confirm whether this is a separate SKU or a renamed offer.

Produce structured content first

Return product and input versions, required sections, narrative, source references, reflection questions, uncertainty notes and evaluator evidence. Bind every named chart fact to engine output, and every tarot interpretation to a saved card/position. Render only validated fields into the report template.

The source asks for an email reading. Proposed adapter: the full reading lives in a PDF; a concise E10 email introduces it. Confirm that packaging before public copy promises it.

Calculate or record the evidence

Resolve historical place/timezone before astrology. Unknown birth time excludes rising sign and houses; omit or label affected Moon placements and aspects. Transits need a calculation date and actual calculated results.

Tarot uses an approved deck, spread, selection and reversal method. Record the draw once per item, retain it through retries, and check image rights. The language model cannot invent or redraw the cards to make the story fit.

Prompt evaluation and release rubric

Require completeness, source-grounded facts, non-repetition, relevance to supplied context, respectful uncertainty, no invented third-party thoughts and no fear-based or guaranteed outcomes. Use an evaluator with isolated instructions and a versioned rubric; ask for explicit pass/fail reasons tied to the rubric. A model’s self-rating alone is insufficient. Uncertain outputs fail closed; repairable content gets at most 2 repair attempts after the initial generation before an owner exception.

Compare sample outputs against the source documents before launch, and rerun reference and adversarial regression cases whenever the model, prompt or rubric changes. Include short/long customer contexts, unrelated instructions inside a question, missing facts, contradictory cards/placements, unsupported timing requests, distress and questions outside the service scope.

Required report sections by supplied prompt
PromptCompleteness rubric
Birth ChartCore Essence; Soul Purpose; Love and Relationships; Career and Abundance; Challenges and Healing; What Lies Ahead only where calculations support it; Loving Message for Her Soul; exactly 3 personalized reflection questions and a loving close. Use second-person headings where needed for inclusive delivery.
Deep Soulmate8 themes: love-life energy; potential soulmate qualities; connection atmosphere; symbolic meeting circumstances; signs of compatibility; cautious timing; practical action now; future love journey. End with an affirmation. This is separate from the catalog’s 5-card count.
Past Love8 themes: connection story; lessons; unresolved feelings; symbolic other-person perspective; continuing impact; reconciliation or closure; present guidance; next chapter. End with the requested letter-style message. This is separate from the catalog’s 6-card count.
Five-QuestionExactly 5 original questions in order. Each has Cards and Their Message, What This Means for You, Beneath the Surface, Guidance From the Cards, and a Loving Takeaway. Then include the Bigger Picture, exactly 3 practical suggestions, and a Final Message. Every answer must use its saved associated draw.
Astra Love tarot / Love LetterHold the unmapped Astra Love route and missing Letter contract. Define required sections only after product mapping/prompt approval; do not infer them from the master prompt.

Card count and narrative section count are different checks. Required headings may be rendered as flowing report sections; never meet a word target through filler or invented personal facts.

05 / Source decisions

Keep the warmth. Resolve the conflicting promises.

The documents contain useful voice guidance and several operating claims that are not yet verified. The proposed interpretation below makes the workflow reviewable without silently changing the offer.

Source conflictProposed handlingDecision / evidence needed
Brand: 400 words maximum, no lists. Reading prompts: detailed sections, 5 answers and reflection questions.Confirmed by Jason: the 400-word maximum applies to support and delivery emails. The paid astrology reading uses the confirmed target of 1,400–2,200 words. Other paid products retain separate length decisions. Customer-facing prose stays warm and natural, with short paragraphs following the brand guide.Word-limit scope and astrology target confirmed. The workflow email pack uses 8 fresh native exports with short-paragraph copy adjustments; the reusable GHL library remains unchanged. Operational tables/maps can remain structured. Retain the existing Letter specification of 1,000+ words pending its missing prompt.
Brand says never mention AI and describes personally created / channeled readings.Use a warm voice without fabricated human authorship. If asked how it is made, answer accurately about automated interpretation and calculated/recorded inputs. Never invent a personal channeling session.Approve truthful production disclosure and customer-support wording.
Brand says 24–48 hours; old funnel promises instant, 24h or up to 72h; prior plan proposes 5–15 minutes internally.Keep the public SLA unset until timed full-journey tests. Start the clock when paid and usable inputs are both present. Use factual delay notices.Approve 1 customer promise with capacity margin and escalation coverage.
Brand says 60-day guarantee and refund arrival in 5–7 business days; older copy has other guarantees.Do not publish or automate these claims from the style guide. Report provider-confirmed refund facts without promising bank settlement.Approve actual refund/redo terms and link functioning policies.
Brand mentions bonuses, 3-email soulmate sequence, video, sketches and love spells.Exclude those extras from this 5-product fulfillment scope. Do not create bonuses, a video route or a free sketch promise automatically.Separate product scope and release evidence if any are intentionally offered.
Brand lists credit, debit and Apple Pay only.Use actual checkout configuration, market and provider capability.Verify available payment methods in the intended checkout.
Warm examples reference divine concepts; final boundary asks religious neutrality.Use inclusive spiritual reflection and customer agency; avoid asserting divine authority. Mirror a customer’s beliefs respectfully without imposing them.Confirm the wording boundary in approved samples.
Prompts assume “her”; identity and pronouns are not established by the 6-field intake.Use second person and the provided name. Do not infer gender, orientation or private personal facts.Optional pronouns only if useful and voluntarily supplied.
Brand discourages words such as “policy” or “deadline”.Use plain, considerate wording, but never hide price, service limits, timing or refund terms. Internal operations can use precise labels.Review service copy after the factual contract is approved.
Source supplies a US crisis number; customers’ locations are not fixed.Keep high-distress and medical/legal/financial requests out of ordinary predictive content. Route to the defined support boundary and use location-appropriate resources when needed.Approve escalation owner and response procedure before autonomous follow-up replies.

Activation holds: the Astra/Astral Love product mismatch, the missing Love Letter prompt, product-specific paid-reading length standards, the actual SLA and refund terms require resolution before those affected routes can launch. They do not prevent building the shared order foundation and draft adapters.

06 / Product integration

5 catalog offers, controlled production routes

Internal key (proposed)Catalog productPriceIntakeOutput specificationFunnel placement
AL-BIRTHAstral Love Reading (Your Astrology Birth Chart Reading)$19.99 USD existing offerBefore checkout: name, email, birth date, time or Unknown, city, country. Add exact/approximate/unknown certainty.Calculated natal chart; relationships, strengths/challenges, career/life themes; calculated cycles only if included.Reuse existing product and 4-step funnel. Review current binding before edits.
AL-SOULMATESoulmate Love Reading$18.99 USD one-timeAfter payment: name, email, optional relationship context and focus. No mandatory birth details unless the approved method needs them.5-card reading; approved spread, recorded card selection, interpretations and synthesis.Dedicated native product page/checkout and item intake.
AL-LETTERSoulmate Love Letter (A message from your Soulmate)$9.99 USD one-timeAfter payment: name, email, optional connection context and desired focus.1,000+ word reflective letter; never present it as another person’s actual thoughts.Standalone offer first; optional add-on placement only after separate purchase/fulfillment tests.
AL-PASTPast Love Reading (Your Ex-lover Reading)$18.99 USD one-timeAfter payment: name, email, brief past-relationship context and focus. Use an alias for another person where possible.6-card tarot reading with licensed imagery, interpretation for each card and closing synthesis.Dedicated native product page/checkout and item intake.
AL-FIVE5-Question Reading (Ask 5 Questions)$19.99 USD one-timeAfter payment: secure instructions form with exactly 5 open-ended questions, optional context, and validation.5 clearly labeled questions, each with its own dedicated interpretation. Each question uses its recorded card(s); total card count and method need approval.Dedicated checkout; thank-you and email both lead to the matched paid-order question form.

This catalog baseline was read October 19; the October 21 GHL inventory still contains only the existing astrology product. It lists numeric prices without an explicit currency. The existing birth-chart offer is visibly USD. Jason confirmed USD one-time pricing for all 5 products in this chat. This is the configuration direction; the additional GHL prices have not been created.

The prompt-routing table adds a release hold for the Astra/Astral Love naming conflict and the missing dedicated Letter prompt. Catalog inclusion is not launch authorization. Use product IDs and approved contract versions, never a fuzzy name match.

Product configuration checklist

  1. Fresh-read the AstraLuna account and export current products, prices, funnel steps and forms.
  2. Reuse the existing astrology product ID. Add only missing catalog products after reviewing the exact create list.
  3. Each digital product receives its own stable ID, one-time price, description, approved pre-launch output template, intake schema and production route.
  4. Bind native checkout controls to approved product and price IDs. Set quantity 1 per line for the pilot; verify taxes/discount behavior and the final charged total. Unsupported quantities must be rejected before payment where possible and held for owner resolution if received.
  5. Route by verified product ID, never by page title or customer-supplied product text.
  6. Give each new product a native landing/checkout/confirmation path in the same funnel system; keep the initial astrology path focused.
  7. Test each product independently, then test repeat/multi-item orders before exposing add-ons or bundles.

Recommended release order

First: complete the birth-chart route and shared order infrastructure.

Next: configure all 4 additional products as drafts, then enable each only when its input, sample, method, automated validation and delivery tests pass.

Later placement: related products can appear on a catalog page or through consented follow-up. A love-letter add-on remains optional, not selected by default. No recurring billing is proposed.

Known existing product: 6abd35524c307e7df3e5d543. Existing price: 6abd3560035320878709fb8c. Verify before edits.

07 / Team notifications

Sale alerts go to astraluna-sales.

Connected destination: #astraluna-sales in AstraLuna. GHL verified membership of this private channel. G04 contains the native Slack action and remains a draft. No test post has been sent.

Sales event, independent of production

  1. A1 verifies a successful paid order and persists it.
  2. The same durable change creates a sale-notification outbox entry keyed by account + order + paid-sale.
  3. A worker posts the approved message and records the returned channel and message timestamp.
  4. A duplicate payment event finds the same entry. A failed/unknown post is reconciled before a retry; persistent failure alerts the owner through a separate monitored path.

Slack failure must not block the order confirmation, generation or delivery. Missing intake does not suppress a successful-sale alert; show “Awaiting details” if needed.

Message specification

New AstraLuna sale
Order: [[order_number]]
Product(s): [[paid_items_summary]]
Paid: [[actual_paid_amount_usd]]
Time: [[paid_at_pht]] PHT
Status: [[ready_or_awaiting_details]]
Open order: [[verified_crm_order_url]]

Customer first name is optional. Exclude birth date/time/place, reading questions, complete report text and payment secrets. Use an actual access-controlled CRM link, not a fabricated URL.

Native GHL Slack alternative

A GHL Slack action after the same filtered Payment Received trigger can notify even if n8n is unavailable. It adds a premium execution and needs its own proven deduplication/unknown-outcome handling. G04 is the selected alert owner. A6 is an inactive outbox alternative with an owner gate that prevents posts. The native path still needs repeated-event, concurrent-order and unknown-outcome tests. Never activate both owners. GHL Slack action

Keep actionable exception alerts distinct from sales: order reference, failed stage, attempts, due time and safe operator link. Deduplicate by incident; resolve the alert when the underlying order is actually recovered.

08 / Fulfillment and delivery

Calculated inputs, automatic validation, automatic delivery

Birth-chart production

  1. Resolve birth location and historical timezone/DST. Request clarification for ambiguity.
  2. Use an approved chart engine to calculate placements. Record engine/settings/version and structured results.
  3. Handle unknown or approximate time explicitly. Do not invent rising sign, houses or certainty around affected placements.
  4. Generate the reading from the calculated facts and approved outline. Include cycles only if the relevant calculations exist.
  5. Create a private PDF, then run automated completeness, rendering, text-extraction and readability checks.
  6. Validate source details, chart consistency, uncertainty, wording, output completeness and recipient association using explicit rules plus a separate automated evaluator.
  7. Record a pass for the exact version; automatic delivery performs the final payment, identity and attachment checks. Any failed or uncertain check blocks release.

Proposed report format

  1. Cover: product name, first name, order reference and date.
  2. How to read this report; method and input-confidence note.
  3. Chart image and placement summary, where valid.
  4. Personal patterns and strengths.
  5. Relationships and connection.
  6. Career and life themes.
  7. Calculated cycles if included in the approved offer.
  8. Reflection prompts and support instructions.

No fixed page count, audio, portal or gift claim is added. The supplied SKU prompts determine required sections; reviewed output samples must establish final depth and design.

Automated release checks

Every mandatory check must pass. A model saying its own output is good is not sufficient evidence. Keep the generator and evaluator separate, and use deterministic checks wherever possible.

Repair policy: allow at most 2 content-repair attempts after the initial generation for the same saved inputs/method results, then move the item to Exception Hold and alert the owner. Transient infrastructure errors have a separate bounded retry policy. Invalid customer data produces a secure clarification request. A repaired reading reruns every check before automatic delivery.

Validation before launch: assess the automation against real sample readings and reference cases. This is a system release check, not a human step on each customer order. Do not claim the proposed 5–15 minute target until timed end-to-end tests pass.

Delivery packaging

Capability references: GHL Send Email action and Send message API. The adapter must pin the saved template version and render order-specific values; it must not overwrite a contact’s latest report URL to drive concurrent orders.

Proposed pilot default: attach 1 validated PDF per product item to the reading-ready email. Use a filename such as AstraLuna_BirthChart_ORDERREF.pdf, without birth date or other sensitive input in the filename. Keep the source PDF in private storage, never the public Media Library. Supply a short-lived signed retrieval URL to the mail provider only when required by the selected adapter; verify the provider actually retrieves and attaches the intended PDF before expiry. Check PDF MIME type, identity, checksum, size and final inbox attachment. Do not expose the signed provider-fetch URL as a permanent customer download.

If size or provider support requires links, use a private customer-authorized delivery endpoint with tested expiry and resend handling. Do not substitute a publicly shared Drive file. Email acceptance, provider-confirmed delivery and customer access are separate events.

Sample status: the 2 supplied documents contain brand rules and generation prompts, not finished sample readings. Their contents were processed for this design. Generate reference outputs from approved evidence and review their PDF layout and rubric before activation.

09 / Gaps and implementation sequence

Close the gaps that can strand a paid order.

PriorityGap / edge caseAction and acceptance evidence
Before generation6-field contact intake has no proven immutable payment correlationPrototype order-bound snapshot + secure attempt reference. Test 2 orders, 2 tabs and edited contact fields. If native correlation is unavailable, request verified post-payment intake.
Before generationSKU naming and prompt conflicts; no Letter promptApprove a product-ID-to-contract manifest. Unknown ID or unresolved route becomes Exception Hold, never a default birth-chart reading.
Before sendingSaved templates still have specification placeholdersProve native-template/send adapter, HTML-escape values, reject unresolved variables, attach the exact validated PDF and freeze recipient/content per order.
Before sendingUnknown email outcome, refund race or changed intakePersist send request; reconcile before retry. Recheck entitlement and current version at release. Corrections invalidate prior validation and queued dispatch.
Before trafficSender, replies, policy links and promise consistencyAuthenticate the owned domain, verify monitored Reply-To and a real inbox; reconcile page/email terms and measured SLA.
Before trafficOutages, missed callbacks and operator absenceTest database restore, durable queues/timers, missed-event reconciliation, monitor health, owner and backup. Bound concurrency and pause new traffic when capacity threatens the promise.
Before trafficSensitive data and report accessPrivate storage, scoped credentials, short-lived intake access, retention/deletion rules, redacted logs and cross-customer denial tests. Do not put birth data in Slack or analytics.
Before expansionQuantity, bundles, add-ons and partial refundsKeep quantity 1 per line initially. Extend unit-level input/entitlement and item refund allocation before exposing quantities or bundles.
During pilotNo measured per-SKU cost or runtimeTrack generation/evaluation tokens, repairs, elapsed time, delivery failures, exceptions, support time and contribution. Review after 10 orders or 7 days from actual launch.

Current October 21 build: 4 GHL drafts, 6 inactive n8n drafts, 12 saved email templates, 1 product at USD 19.99 one-time, quantity 1, and the active 6-field birth form. The product, form and templates are reusable assets. No successful checkout-to-reading delivery has been verified.

10 / Email library

The messages that support the journey

12 native editable templates are saved: 5 product delivery variants and 7 service templates. The 8 message types below include the shared E10 family. October 21 inventory confirms the library; no active workflow or send is established by that inventory.

These existing service drafts are retained as the operational baseline. Apply the supplied brand voice after factual terms are settled, preserving price, order status, next steps and honest authorship. Jason confirmed that the 400-word maximum applies to support and delivery emails. Paid readings have a separate length standard.

[[variables]] are specification placeholders, not verified GHL merge tags. Map them to order-level values before deployment. Missing required values must block sending; use “Hi there” when no first name is available.

Sender display: AstraLuna. From and Reply-To: a confirmed, authenticated mailbox on the owned domain, still to be selected. Domain attachment does not establish email authentication or inbox access.

Product-specific paragraph for E10

Product keyDelivery paragraph
AL-BIRTHInside, you’ll find a plain-language interpretation of your birth chart, with sections on relationships, personal patterns, strengths and direction. [[birth_time_limitations_sentence]]
AL-SOULMATEInside, you’ll find your 5-card reading and reflections on the relationship themes explored by the cards.
AL-LETTERYour personalized letter is ready to read. It is a creative reflection on romantic themes, not a statement of another person’s actual thoughts.
AL-PASTInside, you’ll find your 6-card reading, with card imagery and reflections on your past connection and moving forward.
AL-FIVEYour reading addresses each of your 5 questions in its own section. Your original questions appear alongside their interpretations.

Choose a single owner for the transactional receipt. If the provider sends the payment receipt, E07 supplies service next steps rather than pretending to be a second receipt. Marketing consent remains separate from purchase messages. No post-purchase promotion is enabled by this plan.

11 / Build and acceptance

Implementation in dependency order

Saved build, October 21: the 10 workflows below are reviewable drafts. Offline tests cover payment replay, order identity, prompt versions, bounded retries and guarded delivery. Runtime credentials, immutable checkout/intake correlation, verified chart data, private PDF rendering/storage and sender setup are still required. No purchase, generation or delivery run has been performed.

  1. Confirm the product contract. Resolve SKU/prompt mapping and paid-reading length targets, produce reference samples, and settle the delivery SLA, engine/card method, refund terms, sender and exception owner. USD one-time and fully automated delivery are confirmed.
  2. Verify current account and hosting prerequisites. The October 21 read-only inventory establishes the baseline. Slack is verified and both platforms have saved drafts. Next verify sender, gateway mode, live routes, n8n capacity and database backup/restore. Preserve records and identify exact implementation changes.
  3. Build the shared order foundation. Ledger, immutable intake correlation, verified payment event, item routing, pipeline, A1 and independent sale-alert outbox.
  4. Build the birth-chart production route. Chart engine, versioned prompt contract, PDF generation, separate evaluation, native-template/send adapter and A2/A3.
  5. Add operations. Deadline monitoring, delivery failure handling, refund/case holds, A4/A5 and reconciliation.
  6. Configure the 4 additional products as drafts. Native pages, price bindings, post-purchase intakes, production rubrics and product-specific email blocks.
  7. Run acceptance tests. Complete the primary product first, then repeat relevant tests for every additional product.
  8. Review release evidence. Approve the exact public configuration and payment mode, then run the authorized launch checks. Review the pilot after 10 orders or 7 days from actual launch, whichever comes first.
Test groupScenariosPass condition
PurchaseSuccessful, declined, pending and retried payments; exact amount/currency; direct Thank You visit.Only verified successful payment creates a paid job; retry cannot double-charge; Thank You does not authorize fulfillment.
Identity and repeat orders2 orders by 1 customer; 2 browser tabs; changed contact birth fields; missing intake; mismatched email.Every item uses its own frozen input and correct recipient. Ambiguous matching goes to clarification.
Events and recoveryDuplicate, delayed and out-of-order callbacks; missed webhook; send timeout.1 order/job/confirmation/delivery per intended action; reconciliation restores missing state without replaying money or delivery.
Reading quality3 trusted chart cases; unknown/approximate time; timezone/DST; ambiguous city; invalid dates.Calculation is reproducible; no invented houses/rising sign; uncertainty and affected Moon placement handled.
Additional products5-card and 6-card counts; licensed card imagery; 1,000+ letter words; 5 distinct question answers.Each product matches its approved sample, intake and output rubric; no fallback to astrology production.
Validation and releaseFailed validation, corrected intake after validation, repaired draft, refund before dispatch, quantity 2.Only the current validated version sends; corrections cancel pending release. Quantity 2 is blocked or held. Payment/case checks run again immediately before release.
Delivery and supportCorrect PDF attachment; wrong-recipient negative test; bounce; inbound reply; resend.No cross-order report; errors visible to owner; controlled resend preserves version and order-bound recipient checks.
TimingReady timestamp, configured warning/overdue thresholds, stage changes, delayed input.Clock starts once when paid and ready; state changes do not reset it. Accepted/cancelled/refunded items stop active SLA alerts; bounce is tracked as a separate failure. Delay notices send once without inventing an ETA; any later ETA must be supported by operational evidence.
Public funnelNative pages/editor, mobile/tablet/desktop, SSL, navigation, form errors, policy links and support.Live routes work and all displayed claims match fulfillment. Domain availability alone is insufficient.
Prompt routingAstra/Astral collision, missing Letter prompt, altered Google Doc, prompt instructions inside customer text, wrong SKU.Only an approved product-ID/contract version runs. User text cannot override the contract. Unmapped routes hold.
Slack and outage recoveryDuplicate sale, missing intake, Slack error, unknown post result, n8n restart, database restore, timer/reconciliation outage.1 acknowledged sale alert per paid order; notifications do not block delivery. Recovery preserves keys and original due times, and alerts do not silently disappear.
Template adapterMissing merge data, repeated customer orders, API template support, wrong attachment, attachment limit, Gmail/Outlook/Apple Mail.Frozen order values and correct validated PDF reach the intended inbox through the selected supported sending path.
LaunchTest gateway flow, actual sender/inbox, approved product settings, explicit release authorization.Document saved draft, published and live-verified separately. No claim of real-payment verification without an authorized controlled live test.

Decisions still needed

DecisionProposed defaultWhy it matters
Sample readingsGenerate reference outputs from the supplied prompts and verified method dataProves report depth, voice, imagery, completion rubric and rendering.
Delivery / validationFully automated production and delivery confirmed. SLA pending measured runtime; proposed internal target 5–15 minutesSets the public promise, alert timing and exception handling. No per-reading human approval is required.
Currency / billingUSD one-time for all 5 confirmed by Jason; no subscriptionsApply the confirmed currency to the listed catalog amounts during configuration.
Production methodChart engine + grounded drafting; approved card/spread method for tarot productsPrevents invented chart data or inconsistent product outputs.
Sender / support1 authenticated, monitored mailbox on an owned domainLive page still contains .com addresses and placeholder policy links.
Exception coverageNamed exception owner and backup; measured automation capacityRoutine orders are fully automated; held failures still need an accountable resolution path.
Refund / clarificationApprove exact terms before copy and automation activationCurrent footer promises need real policy destinations and consistent terms.
Storage / deliveryDurable transactional ledger; private storage; PDF attachment for pilotHost, provider attachment support and retention/access rules need technical validation.

The original inventory contained 0 workflows. The authorized build then saved 4 GHL drafts and 6 inactive n8n drafts. The account retains 12 native email templates and 1 bound product. No activation, external send, payment-mode change or publication occurred.

12 / Sources and evidence

What this plan is based on

Published platform rates and capabilities are linked beside the relevant recommendation. They are provider baselines, not a quote for this account. Private sender settings, live payment behavior, n8n hosting capacity, item correlation and email/PDF delivery require implementation tests.