> ## 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.

# Tasks

> Assign, automate, and show the tasks that move partners through onboarding and activation in the portal.

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>}
    </>;
};

> Onboarding and activation only happen when someone owns the next step. Tasks give every partner a clear checklist, assigned and tracked, so nothing stalls.

## What it does

Tasks are the concrete to-dos that drive a partner forward: complete onboarding steps, finish training, submit a document, book a kickoff. You assign tasks to partners or your own team, apply **journeys** so the same playbook reaches every new partner, and automate task creation so the right tasks appear at the right moment. Partners see their tasks in the portal and check them off, and you track completion across the program.

Where Journeys describe the phases a partner moves through, Tasks are the individual actions that get them there, and both work together.

## The problem it solves

* **New partners stall without a clear next step** → Every partner gets an assigned, visible task list.
* **Onboarding is rebuilt by hand for each partner** → Journeys apply the same playbook automatically.
* **Managers chase tasks over email** → Tasks are tracked in one place with status.
* **Partners do not know what to do in the portal** → Their tasks appear right in the experience.

## From problem to solution

Instead of an onboarding plan that lives in a spreadsheet and depends on manual chasing, tasks are assigned and automated through journeys. A new partner sees exactly what to do, the manager sees who is behind, and activation becomes a repeatable motion rather than a series of reminders.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  journey["Journey assigns tasks"] --> see["Partner sees next steps"]
  see --> track["Manager tracks progress"]
  track --> activate["Activation"]
```

## Use cases

<CardGroup cols={2}>
  <Card title="Drive onboarding" icon="circle-check">
    Give new partners a clear, assigned checklist.
  </Card>

  <Card title="Reuse a playbook" icon="circle-check">
    Apply journeys to every partner.
  </Card>

  <Card title="Automate the next step" icon="circle-check">
    Create tasks automatically at the right moment.
  </Card>

  <Card title="Track activation" icon="circle-check">
    See task completion across partners.
  </Card>
</CardGroup>

## Impact

* **Low total cost of ownership** - partner managers build and assign tasks with no code.
* **Partner self-serve** - partners see and complete their own tasks in the portal.

## Who it's for

<CardGroup cols={2}>
  <Card title="Partner Manager" icon="user">
    Assigns and tracks partner tasks.
  </Card>

  <Card title="Partner Operations" icon="user">
    Journeys and automations for the onboarding playbook.
  </Card>
</CardGroup>

## Works with

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

<CardGroup cols={2}>
  <Card title="Journeys" icon="users" href="/features/partners/journeys">
    Tasks make up a journey.
  </Card>

  <Card title="Tasks" icon="handshake" href="/features/co-selling/tasks">
    Same task model on shared deals.
  </Card>

  <Card title="Experiences" icon="browser" href="/features/portal/experiences">
    Show partners their tasks in the portal.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Create an onboarding checklist for Acme - NDA, kickoff call, portal setup - each due next week.",
"Show every overdue partner task across the program, grouped by partner.",
"Mark Acme's certification task done and post a comment congratulating them.",
"Create a task on the Globex deal to send the security questionnaire, assigned to the partner.",
"Which partners have open onboarding tasks with nothing completed in two weeks? Draft a nudge for each.",
]}
/>

## 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>
