When to use it, when not to
Use it
- Use when a form is the first real touch (ebook, newsletter, low-intent contact form) and there is no immediate sales intent.
- Use to warm a contact before they see sales-facing content or get a rep outreach.
Skip it
- Do not use for high-intent forms (demo request, pricing request, contact-sales). Those need fast human follow-up, not a drip. See lead-routing for that pattern.
- Do not stack this on a contact who is already mid-sequence in
another nurture track. Check the
nurture_trackproperty first.
Prerequisites
Properties to create:
| Label | Internal name | Object | Field type | Options | Why |
|---|---|---|---|---|---|
| Nurture Track | nurture_track | contact | Dropdown select | Welcome, Persona, Re-engagement, None | Lets other workflows see which nurture a contact is in and prevents overlapping enrollment. |
| Welcome Nurture Completed | welcome_nurture_completed | contact | Single checkbox | n/a | Marks graduation so downstream workflows know this step finished. |
Other prerequisites:
- 4 marketing emails built and set to Automated type (a Regular/one-time email cannot be selected inside a workflow send-email action).
- The source form live, published, and connected to a form that is not also feeding a higher-intent workflow.
- A static list "Customers - Exclude from Nurture" for suppression.
- Marketing contacts tier checked: confirm there is headroom before turning this on for a high-volume form.
Enrollment
| Trigger type | event-based (form submission) |
|---|---|
| Criteria | Form submission is [Top-of-Funnel Form Name]
AND Lifecycle stage is not Customer AND nurture_track is
not equal to Welcome |
| Re-enrollment | no. Resubmitting the same form does not restart the
clock while welcome_nurture_completed stays true. |
| Suppression | list "Customers - Exclude from Nurture"; native unsubscribed-from-all-email suppression applies automatically. |
Steps
- Set property value:
nurture_track= Welcome - Send email: "Welcome 1 - thanks + what to expect"
- Delay before executing next action: 2 days
- If/then branch: Contact has clicked email "Welcome
1"
- Yes branch: 5a. Send email: "Welcome 2a - popular resource (engaged path)"
- No branch: 5b. Send email: "Welcome 2b - core value prop (re-hook path)"
- Delay before executing next action: 3 days
- Send email: "Welcome 3 - customer proof point"
- Delay before executing next action: 4 days
- Send email: "Welcome 4 - soft CTA to book time or read a case study"
- Delay before executing next action: 3 days
- Set property value:
welcome_nurture_completed= true - Set property value:
nurture_track= None
Known pitfalls
- Automated emails must use the Automated email type. A Regular marketing email will not show up as a selectable option in the send-email action.
- The click branch should test against the specific email sent in step
2, not a general "has ever clicked any email" property. In the branch
criteria pick the Marketing emails filter category, select that specific
email, then the "clicked link in email" option, so the check is scoped
to that one send
(https://
community.hubspot.com/ ).t5/ Lists-Lead-Scoring-Workflows/ I-would-like-to-create-a-branch-based-on-a-specific-link-click/ td-p/ 840239 - Contacts who unsubscribe mid-sequence stop receiving sends automatically, but subsequent Set property actions still run. Confirm that is acceptable, or add an explicit unsubscribe check branch.
- Re-enrollment is off by default here. If someone should restart the
drip after re-downloading, add re-enrollment on the trigger and reset
welcome_nurture_completedto false somewhere upstream. - Turning this on for a large existing form can push the account over its marketing contacts tier. Check contact volume before publishing.
Test plan
- Create a test contact with an email address you control, not matching any domain on the suppression list.
- Submit the source form as that contact.
- Confirm enrollment within a few minutes in Workflow history >
Enrolled, and check
nurture_track= Welcome in the contact's property history. - Click a link in the test Welcome 1 email, then use the workflow's test/fast-forward option (or wait out the real delay) to confirm the branch routes to 2a.
- After the full run, confirm
welcome_nurture_completed= true andnurture_track= None, visible in the contact record's property history and in the workflow's "Contact performance" tab.
The UAT script of this spec holds 3 cases: a negative case, one case per branch, the expected result of each and a sign-off sheet. It comes as Markdown and as a CSV for your spreadsheet.
Variants
- Branch email 2 and 3 content by a persona property instead of click behavior (feeds into lead-nurturing-006).
- On Enterprise with Data Hub Professional, add a webhook step that notifies Slack when a contact reaches step 9 with high engagement.
- Without Workflows (Starter-only account), approximate step 1-2 with the form's native single follow-up email and drop everything past that. This loses branching and timed delays.
Build spec
trigger:
type: event
event: form_submission
form: top_of_funnel_form
filters:
- property: lifecycle_stage
operator: not_equal
value: customer
- property: nurture_track
operator: not_equal
value: welcome
suppression_lists:
- "Customers - Exclude from Nurture"
re_enrollment: false
actions:
- type: set_property
property: nurture_track
value: welcome
- type: send_email
email: welcome_1_thanks
- type: delay
duration: 2d
- type: if_then_branch
condition:
type: email_clicked
email: welcome_1_thanks
yes:
- type: send_email
email: welcome_2a_engaged
no:
- type: send_email
email: welcome_2b_rehook
- type: delay
duration: 3d
- type: send_email
email: welcome_3_proof
- type: delay
duration: 4d
- type: send_email
email: welcome_4_cta
- type: delay
duration: 3d
- type: set_property
property: welcome_nurture_completed
value: true
- type: set_property
property: nurture_track
value: noneFiles and install
| File | What it holds |
|---|---|
| PDF and Markdown | The spec as you read it here, with the YAML build spec at the end. |
| Properties JSON | Creates the fields in one API call. |
| Workflow JSON | Documents the build: the workflow in Automation API v4 format, switched off. |
| UAT script | The test cases, the expected results and a sign-off sheet, as Markdown and CSV. |
Take the PDF and build it by hand. One-click install comes with a category pack or the full library.
Install lead-nurturing-001
One email, and we tell you where this stands. When free installs open, that address is how you hear it first.
No card, no password, unsubscribe in one click.
Nothing deleted, enabled or enrolled.
lead-nurturing-001Spec version 2026-09