> ## Documentation Index
> Fetch the complete documentation index at: https://docs.growthxai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sequence Nodes

> Every step you can add to a sequence, what it does, its outcomes and its settings.

**Outcomes** are the handles a step connects from. Most steps have one (**next**). Steps with several outcomes need each one connected.

<Info>
  **Send invitation**, **Send message**, **Send InMail** and **Send email** can each hold up to 5 message [variants](/sequences/creating-managing-sequences/ab-testing) for A/B testing. Every lead is assigned one variant, and always the same one.
</Info>

## Outreach

<AccordionGroup>
  <Accordion title="Visit profile" icon="eye">
    View the lead's LinkedIn profile. A visible visit is a soft touch before inviting; a silent visit only refreshes profile data.

    * **Outcomes:** next
    * **Settings:** *Notify the lead of the visit* (on)
  </Accordion>

  <Accordion title="Refresh profile" icon="rotate">
    Re-read the full LinkedIn profile when the stored data is old, and save it as [profile enrichment](/ai-and-data/profile-enrichment). Never notifies the lead.

    * **Outcomes:** next
    * **Settings:** **Only if older than (days)**: 90 by default.

    A lead that has **never** been enriched is enriched by this step, not skipped.
  </Accordion>

  <Accordion title="Send invitation" icon="user-plus">
    Send a connection request, with an optional note.

    * **Outcomes:** next
    * **Settings:**
      * **Invitation note**: up to 300 characters, or 200 if any free LinkedIn sender is in the pool.
      * **Require the note for free accounts** (off). When off, the note is dropped for free senders once their monthly note allowance runs out, instead of the step failing.
      * Optional AI drafting and message variants.
  </Accordion>

  <Accordion title="Wait for connection" icon="hourglass-half">
    Wait until the invitation is accepted.

    * **Outcomes:** **connected** (as soon as they accept) and **no connect** (when the wait window ends)
    * **Settings:**
      * **Wait window (days)**: 14 by default, 1–90.
      * **Subtasks while waiting**: up to 5 profile visits or post likes, at most one every two days.
  </Accordion>

  <Accordion title="Withdraw invitation" icon="user-xmark">
    Cancel a pending invitation. Usually placed on the **no connect** branch.

    * **Outcomes:** next

    <Note>After a withdrawal, LinkedIn blocks re-inviting the same person for several weeks.</Note>
  </Accordion>

  <Accordion title="Send message" icon="message">
    Send a LinkedIn message. The lead must be a 1st-degree connection.

    * **Outcomes:** next
    * **Settings:**
      * **Message**: up to 8,000 characters.
      * **Send even after the lead replied** (off).
      * Optional AI drafting.

    Unless *send always* is on, the step is skipped if the lead has already replied.
  </Accordion>

  <Accordion title="Send voice note" icon="microphone">
    Send a recorded LinkedIn voice message. The lead must be a 1st-degree connection.

    * **Outcomes:** next
    * **Settings:**
      * **One clip per sender.** Each sender in the pool records or uploads its own clip, so the voice matches the account it comes from. A sender with no clip skips the step.
      * **Up to 60 seconds**, 10 MB. Record in the browser, or upload an M4A or MP3.
      * **Send even after the lead replied** (off).

    It counts against the message budget like any other message.

    <Warning>There is no AI voice cloning, and there won't be. One real recording per sender is the feature.</Warning>
  </Accordion>

  <Accordion title="Send InMail" icon="envelope-open-text">
    Send an InMail through Classic, Sales Navigator or Recruiter.

    * **Outcomes:** **next** and **no credit** (the sender is out of InMail credits)
    * **Settings:**
      * **Subject**: up to 200 characters.
      * **Body**: up to 1,900 characters.
      * **InMail API**.
      * **Only send to open profiles** (free InMail).
  </Accordion>

  <Accordion title="Send email" icon="envelope">
    Send an email from a connected mailbox.

    * **Outcomes:** **next**, **bounced** (hard bounce) and **no email** (no matching address)
    * **Settings:**
      * **Subject**: up to 200 characters.
      * **Body**: HTML allowed.
      * **Send to**: any email (work first), work only, or personal only.
      * **Threading**: continue the thread or start a new one.
      * **Mailbox**: from the pool, or a specific one. A pool of mailboxes is split evenly, and a contact emailed before always gets the same one. See [mailbox rotation](/email-management/email-deliverability#mailbox-rotation).
      * **Track opens and clicks** (on).

    The sequence can't be activated until a mailbox is in the pool or selected here. The pre-launch check warns when an email step has no [unsubscribe link](/email-management/email-deliverability#unsubscribe-link).
  </Accordion>

  <Accordion title="Find email" icon="at">
    Look up a work email with your own provider keys, and fill it on the lead.

    * **Outcomes:** **found** and **not found**
    * **Settings:** none on the step. Providers and their order are set under **Settings → AI & data → Email finders**.

    We don't resell data: the workspace brings its own keys for one or two finders plus an optional verifier, tried in order and stopping at the first hit. Without a verifier, found addresses are stored as unverified.

    Leads with no company domain, and leads whose email is already verified, are skipped.
  </Accordion>
</AccordionGroup>

## Social

<AccordionGroup>
  <Accordion title="Like latest post" icon="thumbs-up">
    React to the lead's most recent post. Skipped quietly if there's no recent post.

    * **Outcomes:** next
    * **Settings:**
      * **Reaction**: like, celebrate, support, love, insightful or funny.
      * **Only posts newer than (days)**: 90 by default.
  </Accordion>

  <Accordion title="Comment on post" icon="comment">
    Comment on the lead's most recent post.

    * **Outcomes:** next
    * **Settings:**
      * **Comment**: up to 1,250 characters.
      * **Only posts newer than (days)**: 90 by default.
      * Optional AI drafting.
  </Accordion>

  <Accordion title="Endorse skills" icon="award">
    Endorse the lead for 1 to 5 skills.

    * **Outcomes:** next
  </Accordion>

  <Accordion title="Follow profile" icon="user-check">
    Follow the lead on LinkedIn.

    * **Outcomes:** next

    <Warning>
      This step has its own daily allowance and is ready to run, but our LinkedIn provider does not currently expose a follow action. **The step skips quietly** and the lead moves on. It will start working with no change on your side once the provider adds it. In the meantime, **Send invitation** also follows.
    </Warning>
  </Accordion>
</AccordionGroup>

<Note>
  Like and comment steps read the lead's recent posts. That now uses the sender's **post fetch** allowance, like every other LinkedIn call. See [Smart Limits](/getting-started/platform-overview/smart-limits-and-account-safety#platform-ceilings).
</Note>

## Logic

<AccordionGroup>
  <Accordion title="Delay" icon="clock">
    Wait for a set time. A random ± spread (jitter) is added so sends don't bunch together.

    * **Outcomes:** next
    * **Settings:** *Wait for*: amount, unit and ±%. Default 1 day ±20%.
  </Accordion>

  <Accordion title="Condition" icon="code-branch">
    Branch based on the lead, their relation with the current sender, or the sender. It's checked instantly.

    * **Outcomes:** **true** and **false**
    * **Settings:**
      * **Match all rules** or **any rule**.
      * A list of rules. Each rule has a field, an operator and a value.
      * With no rules, every lead takes the true branch.

    **Fields, by group:**

    | Group            | Fields                                                                                                                                                                   |
    | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | **Conversation** | Replied · Accepted invitation · Connection status · Email bounced · Last call outcome                                                                                    |
    | **Lead**         | Has work email · Has personal email · Has phone number · Is open profile · Has tag · Stage is · Company · Title · Headline · Location · Custom field                     |
    | **Profile data** | Profile data is stored · Months in current role · Posted in the last N days · Followers · Connections · Past company · Skill · Profile language · About section · School |
    | **Sender**       | Sender is premium                                                                                                                                                        |

    **Operators:** equals, does not equal, contains, does not contain, exists, does not exist, and the numeric comparisons.

    The **Profile data** group needs [profile enrichment](/ai-and-data/profile-enrichment).
  </Accordion>

  <Accordion title="A/B split" icon="shuffle">
    Send leads down weighted paths to test whole flows — invite with a note versus without, LinkedIn-first versus email-first.

    * **Outcomes:** one per branch, named and weighted by you
    * **Settings:** a list of branches, each with a label and a weight. The percentage is shown on the canvas.

    Assignment is sticky: a lead always takes the same branch. See [A/B testing](/sequences/creating-managing-sequences/ab-testing).
  </Accordion>

  <Accordion title="Rotate sender" icon="rotate">
    Finish this enrollment and start a new one for the same lead with the **next sender in the pool**, from a step you choose. Useful after **no connect**.

    * **Outcomes:** next
    * **Settings:**
      * **Restart from**.
      * **Max rotations per lead**: 2 by default, 0–10.
  </Accordion>

  <Accordion title="Change sender" icon="right-left">
    Carry on with another sender: the next one in the pool, or a specific one.

    * **Outcomes:** next
  </Accordion>
</AccordionGroup>

## CRM

| Step             | What it does                                  |
| ---------------- | --------------------------------------------- |
| **Add tag**      | Tags the lead. You can create a new tag here. |
| **Remove tag**   | Removes a tag from the lead                   |
| **Change list**  | Moves the lead to a list                      |
| **Change stage** | Sets the lead's pipeline stage                |

All four have one outcome: **next**.

## Integrations

<AccordionGroup>
  <Accordion title="Call webhook" icon="webhook">
    Send a signed `sequence.webhook` event, with the lead, sender and enrollment, to one of your [outbound webhooks](/integrations-api/outbound-webhooks).

    * **Outcomes:** next
  </Accordion>

  <Accordion title="Call API" icon="globe">
    Make an HTTP request using lead variables.

    * **Outcomes:** **next** and **error** (a non-2xx response or a network error)
    * **Settings:**
      * **Method**: GET, POST, PUT, PATCH or DELETE.
      * **URL**, **Headers** and **Query parameters**.
      * **Body**: JSON bodies are sent as `application/json`.
      * **Remove empty values from the body** (on).
  </Accordion>

  <Accordion title="Send to sequence" icon="share">
    Finish this enrollment and enroll the lead into another sequence, which uses its own sender pool. The lead only progresses there if that sequence is active.

    * **Outcomes:** none (ends the path)
  </Accordion>
</AccordionGroup>

## AI and flow

<AccordionGroup>
  <Accordion title="AI draft + approval" icon="wand-magic-sparkles">
    AI drafts an **invitation note**, **message** or **post comment** from your **Brief** (plus the sequence brief). A **Review AI draft** task is created. Approving it sends the text through the matching action, within normal limits. Rejecting it skips the step.

    * **Outcomes:** next
  </Accordion>

  <Accordion title="AI routing" icon="route">
    Describe each path in plain words and let AI pick one per lead — *"founders and C-level"*, *"agencies, not product companies"*, plus a fixed **everything else** branch.

    * **Outcomes:** one per route, plus **everything else**
    * **Settings:** a list of routes, each with a label and a description

    The AI sees the whole profile, including posts, past roles, skills and custom fields. The decision is made once per lead and stored with its reason. **Test on 20 leads** shows the split before you publish. See [AI routing](/ai-and-data/ai-routing).
  </Accordion>

  <Accordion title="Manual task" icon="clipboard-check">
    Create a task with a **title** and **instructions**. The enrollment waits until a teammate completes it.

    * **Outcomes:** next
  </Accordion>

  <Accordion title="Call task" icon="phone">
    A phone call with a script. The enrollment waits until someone makes it and records the outcome.

    * **Outcomes:** **connected**, **voicemail**, **no answer**, **wrong number**, and **any other outcome** as the fallback
    * **Settings:** **Title** and **Script**

    The outcome is also available later in the flow as the **Last call outcome** condition field. See [Booking and call tasks](/sequences/creating-managing-sequences/booking-and-call-tasks).
  </Accordion>

  <Accordion title="Start" icon="play">
    Where every enrollment begins. It can't be deleted.

    * **Outcomes:** next
  </Accordion>

  <Accordion title="End" icon="flag-checkered">
    Completes the enrollment.

    * **Outcomes:** none
    * **Settings:** *Completion reason* (optional), which appears in reports.
  </Accordion>
</AccordionGroup>

## Related articles

* [How to Build a Sequence](/sequences/creating-managing-sequences/how-to-build-a-sequence)
* [A/B Testing Message Variants](/sequences/creating-managing-sequences/ab-testing)
* [Meeting Booking and Call Tasks](/sequences/creating-managing-sequences/booking-and-call-tasks)
* [Rotate Sender Explained](/sequences/creating-managing-sequences/rotate-sender-explained)
* [How to Send LinkedIn InMails](/sequences/creating-managing-sequences/how-to-send-inmails)
