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

# Partner Onboarding

> Onboard partners progressively: start them small, then unlock tabs, assets, and abilities as they complete steps and qualify, so they grow into their portal instead of drowning in it on day one.

export const Headless = ({prompts = []}) => {
  const PromptRow = ({prompt}) => {
    const [copied, setCopied] = useState(false);
    const copy = () => {
      try {
        navigator.clipboard?.writeText(prompt);
      } catch {}
      setCopied(true);
      setTimeout(() => setCopied(false), 1600);
    };
    return <div className="group flex items-center justify-between gap-3 px-4 py-3 transition-colors hover:bg-[#FD90FF]/[0.06]">
        <span className="text-sm leading-relaxed text-zinc-700 dark:text-zinc-200">{prompt}</span>
        <button type="button" onClick={copy} aria-label={copied ? "Copied to clipboard" : "Copy prompt"} className={`shrink-0 rounded-md p-1.5 transition-all hover:bg-[#FD90FF]/10 focus:opacity-100 focus:outline-none ${copied ? "text-[#FD90FF] opacity-100" : "text-zinc-400 opacity-0 group-hover:opacity-100 dark:text-zinc-500"}`}>
          {copied ? <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <path d="M20 6L9 17l-5-5" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg> : <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <rect x="9" y="9" width="11" height="11" rx="2" stroke="currentColor" strokeWidth="2" />
              <path d="M5 15V5a2 2 0 0 1 2-2h10" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg>}
        </button>
      </div>;
  };
  return <>
      <p>
        Introw is <strong>headless</strong> by design: run everything here in plain language from Claude, ChatGPT,
        Slack, Teams, or your own CRM through Introw's <a href="/features/developer/mcp">MCP server</a>, with every
        action written straight back to your CRM source of truth. The portal is one surface, never the only one.
      </p>

      {prompts.length > 0 ? <div className="not-prose my-6 overflow-hidden rounded-2xl border border-zinc-200/80 bg-white shadow-sm dark:border-white/10 dark:bg-white/[0.02]">
          <div className="flex items-center gap-2 border-b border-zinc-200/80 bg-gradient-to-r from-[#FD90FF]/10 via-[#FD90FF]/5 to-transparent px-4 py-2.5 dark:border-white/10">
            <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4 text-[#FD90FF]" aria-hidden="true">
              <path d="M12 2.5l2 5.5 5.5 2-5.5 2-2 5.5-2-5.5L4.5 10l5.5-2 2-5.5z" fill="currentColor" />
              <path d="M18.5 14l1 2.6 2.6 1-2.6 1-1 2.6-1-2.6-2.6-1 2.6-1 1-2.6z" fill="currentColor" opacity="0.55" />
            </svg>
            <span className="text-xs font-semibold uppercase tracking-wider text-zinc-500 dark:text-zinc-400">
              Try it from your LLM
            </span>
          </div>

          <div className="flex flex-col divide-y divide-zinc-100 dark:divide-white/[0.06]">
            {prompts.map(prompt => <PromptRow key={prompt} prompt={prompt} />)}
          </div>

          <a href="/headless" className="flex items-center justify-between gap-2 border-t border-zinc-200/80 px-4 py-2.5 text-sm font-medium text-zinc-600 no-underline transition-colors hover:text-[#FD90FF] dark:border-white/10 dark:text-zinc-300">
            <span>See the full headless playbook</span>
            <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
          </a>
        </div> : <Card title="See the headless motion" icon="wand-magic-sparkles" href="/headless">
          The agentic playbook - lifecycle deep dives and a Claude Code skill library that run your partner program
          from Claude, ChatGPT, Slack, and your CRM.
        </Card>}
    </>;
};

> A partner who lands in a portal full of everything on day one is overwhelmed and does nothing. Progressive onboarding starts them with the essentials and unlocks more, tabs, assets, and abilities, as they complete steps and qualify, so the portal grows with them.

## What it does

Partner Onboarding is a way of designing the partner experience so it reveals itself over time. Instead of exposing the full portal to a brand-new partner, you start them with a focused first stage, the few things they need to get going, and let the rest unlock as they earn it. Finish onboarding tasks, pass a certification, reach a tier, or hit a CRM milestone, and new tabs, content, and abilities appear.

This is built by combining what is already in Partners and the Portal. Dynamic segments decide who has reached each stage and update themselves as partner data changes. Portal experiences restrict tabs and sections to those segments, so a partner only sees what they have unlocked. Journeys give them the checklist that drives them forward, and tiers and certificates provide the milestones that flip the switch. The result is a partner who is never lost, always has a clear next step, and feels the program open up as they grow.

Because everything keys off live segment membership, the unlocking is automatic. You design the path once; partners move through it on their own, and you spend your time on the ones who stall, not on manually granting access. And because a partner's segments always resolve to the most permissive settings, every stage they earn only ever adds: nothing a partner unlocked gets taken away by still matching an earlier stage.

## The problem it solves

* **New partners are overwhelmed by a full portal** → Start them with a focused first stage and reveal the rest over time.
* **Access is granted by hand, partner by partner** → Dynamic segments unlock tabs and assets automatically as partners qualify.
* **Partners plateau with nothing pulling them forward** → Each unlock is a reward tied to a completed step or milestone.
* **There is no defined path to productive** → Onboarding becomes a designed progression, not a pile of links.

## From problem to solution

Design the stages of your onboarding, define a dynamic segment for each, and gate the matching portal tabs, assets, and abilities to those segments. Partners start small, complete the steps in front of them, and watch the portal expand as they qualify, turning onboarding into a guided climb instead of a cliff.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  stages["Design stages"] --> segments["Segment per stage"]
  segments --> gate["Gate portal tabs and assets"]
  gate --> unlock["Portal unlocks as partner qualifies"]
```

## Use cases

<CardGroup cols={2}>
  <Card title="Stage the experience" icon="circle-check">
    Reveal tabs as partners reach each stage.
  </Card>

  <Card title="Reward progress" icon="circle-check">
    Unlock assets and abilities when partners qualify.
  </Card>

  <Card title="Automate access" icon="circle-check">
    Let dynamic segments grant access, not your inbox.
  </Card>

  <Card title="Drive to first deal" icon="circle-check">
    Give a clear next step from day one to productive.
  </Card>
</CardGroup>

## Impact

* **Time to value** - partners reach productive faster because the path is staged and clear.
* **Partner self-serve** - partners unlock the program on their own as they qualify.
* **Low total cost of ownership** - partner ops designs the progression with no-code segments and experiences.

## Who it's for

<CardGroup cols={2}>
  <Card title="Partner Manager" icon="user">
    Wants new partners productive without hand-holding.
  </Card>

  <Card title="Partner Marketing & Enablement" icon="user">
    Designs the staged content and unlocks.
  </Card>
</CardGroup>

## Works with

{/* CONNECTS:START - generated content goes here */}

<CardGroup cols={2}>
  <Card title="Segments" icon="users" href="/features/partners/segments">
    Unlock stages with dynamic segments.
  </Card>

  <Card title="Journeys" icon="users" href="/features/partners/journeys">
    Give partners the onboarding checklist.
  </Card>

  <Card title="Experiences" icon="browser" href="/features/portal/experiences">
    Reveal portal tabs as partners qualify.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Which partners signed in the last 30 days but haven't finished onboarding?",
"Create Acme's next onboarding task, assign it to them, and set it due Friday.",
"Show partners who completed onboarding but haven't registered a deal yet.",
"Mark Acme's onboarding tasks complete and move their lifecycle phase to active.",
]}
/>

## Going deeper

<CardGroup cols={2}>
  <Card title="How to" icon="screwdriver-wrench" href="./technical">
    Setup, configuration, and all how-to guides.
  </Card>

  <Card title="API reference" icon="code" href="/general/introduction">
    Endpoints and code.
  </Card>
</CardGroup>
