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

# Your onboarding journey

> Your stage-by-stage Thread onboarding journey from first login to AI Service Unleashed — the same path your CSM runs with you, with lessons to complete.

export const SidebarProgress = ({signals = {}}) => {
  useEffect(() => {
    const KEY = "thread-onboarding-completed";
    const TEAL = "#00B398";
    const DONE_ICON = '<svg class="thread-oc-doneicon size-4" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#00B398" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">' + '<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/>' + '<polyline points="22 4 12 14.01 9 11.01"/></svg>';
    const STAGES = [{
      slug: "set-up-your-workspace",
      steps: ["create-your-workspace", "configure-microsoft-sso", "configure-status-mapping", "optimize-notifications"]
    }, {
      slug: "turn-on-assistive-ai",
      steps: ["auto-prioritization", "auto-categorization", "auto-title", "magic-sentiment", "client-intelligence", "enable-super-magic", "auto-routing-flows"]
    }, {
      slug: "deploy-chat",
      steps: ["configure-messenger", "create-teams-app", "deploy-messenger"]
    }, {
      slug: "tune-ai",
      steps: ["magic-analytics", "super-magic-deep-dive", "announce-thread"]
    }, {
      slug: "equip-technicians",
      steps: ["inbox-views", "inbox-teams", "companion-app"]
    }, {
      slug: "run-a-pilot",
      steps: ["enablement-playbook", "technician-ritual"]
    }, {
      slug: "deploy-magic-agents",
      steps: ["triage-agent", "reminder-agent", "triage-agent-guide", "intent-creation"]
    }, {
      slug: "launch-to-clients",
      steps: ["marketing-assets", "communicate-rollout", "value-messaging"]
    }, {
      slug: "add-voice-ai",
      steps: ["voice-ai-config", "voice-overflow", "voice-auto-attendant"]
    }, {
      slug: "ai-service-unleashed",
      steps: ["review-analytics", "leadership-ritual"]
    }];
    const STAGE_SLUGS = new Set(STAGES.map(s => s.slug));
    const readLocal = () => {
      try {
        return JSON.parse(localStorage.getItem(KEY) || "[]");
      } catch (e) {
        return [];
      }
    };
    const isDone = (done, slug) => done.includes(slug) || !!(signals && signals[slug]);
    const decorate = () => {
      const done = readLocal();
      const scope = document.getElementById("sidebar-content") || document;
      const links = [...scope.querySelectorAll('a[href*="/onboarding/"]')].filter(a => !a.closest("main"));
      links.forEach(a => {
        const m = (a.getAttribute("href") || "").match(/\/onboarding\/([^/?#]+)/);
        if (!m) return;
        const slug = m[1];
        if (STAGE_SLUGS.has(slug)) return;
        const d = isDone(done, slug);
        const has = a.querySelector(".thread-oc-check");
        if (d && !has) {
          const s = document.createElement("span");
          s.className = "thread-oc-check";
          s.textContent = "✓ ";
          s.style.color = TEAL;
          s.style.fontWeight = "700";
          a.insertBefore(s, a.firstChild);
        } else if (!d && has) {
          has.remove();
        }
      });
      let nextMarked = false;
      STAGES.forEach(stage => {
        const li = scope.querySelector('li[id="/onboarding/' + stage.slug + '"]');
        if (!li) return;
        const row = li.querySelector(":scope > button") || li.querySelector(":scope > a") || li.firstElementChild;
        if (!row) return;
        const iconSvg = row.querySelector('svg[style*="mask"]');
        const iconWrap = iconSvg ? iconSvg.parentElement : null;
        const nameSpan = [...row.querySelectorAll("span")].find(s => s.textContent.trim() && !s.classList.contains("thread-oc-check"));
        const allDone = stage.steps.length > 0 && stage.steps.every(s => isDone(done, s));
        const isNext = !allDone && !nextMarked;
        if (isNext) nextMarked = true;
        if (iconWrap) {
          const injected = iconWrap.querySelector(".thread-oc-doneicon");
          if (allDone) {
            if (iconSvg) iconSvg.style.display = "none";
            if (!injected) iconWrap.insertAdjacentHTML("beforeend", DONE_ICON);
          } else {
            if (injected) injected.remove();
            if (iconSvg) iconSvg.style.display = "";
          }
        }
        if (iconSvg && !allDone) iconSvg.style.backgroundColor = isNext ? TEAL : "";
        if (nameSpan) {
          nameSpan.style.color = isNext ? TEAL : "";
          nameSpan.style.fontWeight = isNext ? "600" : "";
        }
      });
    };
    decorate();
    const iv = setInterval(decorate, 600);
    window.addEventListener("thread-onboarding-updated", decorate);
    window.addEventListener("storage", decorate);
    return () => {
      clearInterval(iv);
      window.removeEventListener("thread-onboarding-updated", decorate);
      window.removeEventListener("storage", decorate);
    };
  }, [signals]);
  return null;
};

<SidebarProgress signals={typeof user !== "undefined" ? user?.content?.onboarding : undefined} />

This is the **AI Service Unleashed (AISU)** journey — the staged rollout your Thread Customer
Success Manager runs with you, from creating your workspace to going live with AI, chat, and
voice. Each stage is a set of short lessons; open a lesson, follow its guide, and **mark it
complete** — a green check appears in the sidebar as you go.

<Note>
  Your CSM drives the calls and the timeline. This is your self-serve companion. Progress is
  saved in this browser; once your workspace is connected for personalized docs, lessons
  complete themselves from your live setup.
</Note>

## The stages

<CardGroup cols={2}>
  <Card title="Set up your workspace" icon="rocket" href="/onboarding/set-up-your-workspace">
    Workspace, PSA, SSO, status mapping, and notifications.
  </Card>

  <Card title="Turn on assistive AI" icon="wand-magic-sparkles" href="/onboarding/turn-on-assistive-ai">
    Turn on the assistive AI that classifies, titles, and reads every ticket.
  </Card>

  <Card title="Deploy Messenger chat" icon="comments" href="/onboarding/deploy-chat">
    Deploy Messenger so clients reach you inside Teams.
  </Card>

  <Card title="Tune AI" icon="circle-check" href="/onboarding/tune-ai">
    Watch the AI work, fine-tune with data, and bring your team along.
  </Card>

  <Card title="Equip your technicians" icon="bolt" href="/onboarding/equip-technicians">
    Views, teams, and the Companion App to work faster.
  </Card>

  <Card title="Run a team pilot" icon="users" href="/onboarding/run-a-pilot">
    Run a pilot, gather feedback, and prove the workflow.
  </Card>

  <Card title="Deploy Magic Agents" icon="robot" href="/onboarding/deploy-magic-agents">
    Put agents to work on triage, reminders, and resolution.
  </Card>

  <Card title="Launch to clients" icon="bullhorn" href="/onboarding/launch-to-clients">
    Roll out to your first wave of clients with the right messaging.
  </Card>

  <Card title="Add Voice AI" icon="phone" href="/onboarding/add-voice-ai">
    Add 24/7 phone coverage with overflow and an auto attendant.
  </Card>

  <Card title="AI Service Unleashed" icon="trophy" href="/onboarding/ai-service-unleashed">
    Review outcomes and scale AI across your whole client base.
  </Card>
</CardGroup>


## Related topics

- [Roll Thread out across your business](/start-here/roles/msp-owner-leadership/the-rollout.md)
- [MSP Owner / Leadership](/start-here/roles/msp-owner-leadership.md)
- [New Hire Onboarding](/skill-library/onboarding-and-access/new-hire-onboarding.md)
