Human-readable source flow and step-by-step GoHighLevel rebuild script for the critical LYSP buyer onboarding automation.
Source: ActiveCampaign automation ID 27
Exported: 2026-05-14T04:17:46.675Z
Purpose: Rebuild the critical paid-buyer onboarding automation in GoHighLevel without guessing.
This ActiveCampaign automation is active and operationally critical. It starts when one of two buyer/subscription tags is added, marks the contact as active, sends the LYSP welcome email, removes active/inactive trigger tags, waits, sends/checks app-access reminder logic, and conditionally sends a final reminder from an else branch.
Important API limitation: ActiveCampaign exposes the block list, triggers, sends, waits, and branch containers. It does not expose the human-readable condition bodies for three segment-based checks in this export. Those must be visually confirmed in AC before final GHL publish.
| Trigger ID | Type | Params | Multi-entry | GHL equivalent |
|---|---|---|---|---|
| 40 | tagadd | {"tag":"Trigger - LYSP - Subscription Active"} | 1 | Contact tag added: Trigger - LYSP - Subscription Active |
| 66 | tagadd | {"tag":"[Bought] LYS Program - CF"} | 0 | Contact tag added: [Bought] LYS Program - CF |
| Step | Block ID | Parent | Type | Meaning |
|---|---|---|---|---|
| 1 | 360 | start | Start; trigger IDs: 40, 66 | |
| 2 | 410 | 360 | update | Update custom field 24 (LYS Active/Inactive) to "Active" |
| 3 | 401 | 360 | send | Send campaign 253: lysp_start 1 |
| 4 | 411 | 360 | removetag | Remove tags: Trigger - LYSP - Subscription Active (#137), Trigger - LYSP - Subscription Inactive (#138) |
| 5 | 436 | 360 | wait | Wait 1 day |
| 6 | 435 | 360 | wait | Wait until specific day/condition using AC segment 292 (condition body not exposed by API) |
| 7 | 434 | 360 | send | Send campaign 374: lysp_start 2 |
| 8 | 437 | 360 | wait | Wait until condition/segment cba39d28-5ffe-4f95-a343-fad49561e206 for up to 7 day (condition body not exposed by API) |
| 9 | 438 | 360 | if | If/Else branch using AC segment 09c0d903-1e67-4287-839f-3365ebceb8a8 (condition body not exposed by API). If false routes to else block 439; if true appears to end/skip else branch. |
| 10 | 439 | 360 | else | Else branch container for if block 438 |
| 11 | 489 | 439 | send | Send campaign 462: lysp_start 2 - (Copy-462) |
| Order | AC block | Campaign ID | Message ID | Subject | Copy file |
|---|---|---|---|---|---|
| 1 | 401 | 253 | 253 | [Welcome!] YOUR PURCHASE of the Last Year Single™ Program | 01-welcome-your-purchase-of-the-last-year-single-program.md |
| 2 | 434 | 374 | 372 | Did you get in? [Last Year Single App] | 02-did-you-get-in-last-year-single-app.md |
| 3 | 489 | 462 | 439 | Did you get in? [Last Year Single App] | 12-did-you-get-in-last-year-single-app.md |
Create or confirm these before building the workflow:
Step 1: Custom field: LYS Active/Inactive
- Type: single select/radio if possible
- Values: Active, Inactive, Paused, Former
- AC source field: #24 / personalization tag %LYS_ACTIVEINACTIVE%
Step 2: Trigger tags:
- Trigger - LYSP - Subscription Active
- [Bought] LYS Program - CF
Step 3: Trigger cleanup tags to remove after entry:
- Trigger - LYSP - Subscription Active
- Trigger - LYSP - Subscription Inactive
Add two workflow triggers:
Step 1: Contact tag added: Trigger - LYSP - Subscription Active
- AC multientry: yes
- GHL recommendation: allow re-entry only if needed for subscription reactivation; otherwise prevent duplicate active runs with guard tag/check.
Step 2: Contact tag added: [Bought] LYS Program - CF
- AC multientry: no
- GHL recommendation: no duplicate entry while active/enrolled.
Step 1: Update contact field
- Field: LYS Active/Inactive
- Value: Active
- AC block: 410
Step 2: Send email: Welcome / purchase confirmation
- Subject: [Welcome!] YOUR PURCHASE of the Last Year Single™ Program
- Copy source: 01-welcome-your-purchase-of-the-last-year-single-program.md
- AC campaign: 253
- AC block: 401
Step 3: Remove trigger tags
- Remove Trigger - LYSP - Subscription Active
- Remove Trigger - LYSP - Subscription Inactive
- AC block: 411
Step 4: Wait 1 day
- AC block: 436
Step 5: Wait until specific day/condition — needs AC UI confirmation
- AC block: 435
- AC segment: 292
- API limitation: condition body not exposed.
- Build instruction: open AC workflow block 435 and document exact condition before recreating.
Step 6: Send email: Did you get in? [Last Year Single App]
- Copy source: 02-did-you-get-in-last-year-single-app.md
- AC campaign: 374
- AC block: 434
Step 7: Wait until condition, for up to 7 days — needs AC UI confirmation
- AC block: 437
- AC segment UUID: cba39d28-5ffe-4f95-a343-fad49561e206
- Build instruction: confirm whether this is waiting for app/login/access behavior, tag application, or another condition.
Step 8: If/Else condition — needs AC UI confirmation
- AC block: 438
- AC segment UUID: 09c0d903-1e67-4287-839f-3365ebceb8a8
- Observed behavior: false/else path routes to block 439, then sends campaign 462. True path appears to stop/skip the final reminder.
Step 9: Else path: Send final reminder
- Subject: Did you get in? [Last Year Single App]
- Copy source: 12-did-you-get-in-last-year-single-app.md
- AC campaign: 462
- AC block: 489
Do not recreate every duplicate/draft AC campaign. Rebuild the live path only:
Step 1: Welcome purchase email
Step 2: First app-access reminder
Step 3: Final app-access reminder if the success condition is not met
The AC export contains 12 campaign records, but the block flow only references campaigns 253, 374, and 462. The other campaign records appear to be historical/draft/duplicate versions of the same app-access reminder.
These are not optional; they control the branching logic:
Step 1: What exactly is AC segment 292 checking in wait block 435?
Step 2: What exactly is AC condition cba39d28-5ffe-4f95-a343-fad49561e206 checking in wait block 437?
Step 3: What exactly is AC condition 09c0d903-1e67-4287-839f-3365ebceb8a8 checking in if/else block 438?
Step 4: In GHL, what field/tag/event will represent “customer successfully got into the LYS app”?
Use an internal test contact before publishing to real buyers.
raw-automation-27-full.jsonblock-map.csv/root/agent-files/jane-media/activecampaign/email-copy-archive-2026-05-14/027-1-bought-lysp-2024/