XP → SitecoreAI Migration
Migrate a Sitecore XP Headless site to SitecoreAI CMS (XMC) SXA Headless — code, content, and presentation — using 21 AI agents across five orchestrated phases.
This recipe migrates a Sitecore XP site to SitecoreAI (formerly XM Cloud) SXA Headless — code, content, and presentation — using a team of 21 specialized agents across six orchestrated phases.
The recipe supports two source site types. The migration pipeline is the same; the differences are in Phase 0 and Phase 2.
Headless (JSS) source siteYour React/JSS components are migrated to SitecoreAI Content SDK 2.0. Approximately 95% of original component code is preserved — only what is structurally incompatible with SitecoreAI is modified.
MVC source siteYour Razor views and controllers are reconstructed as React components. The DOM structure, class names, and field bindings are preserved — but Razor and React are different languages, so this is a reconstruction, not a line-by-line port. Headless Services must be installed on your source XP instance before migration begins (Phase 0 handles this).
What this recipe covers
| Scope | Details |
|---|---|
| Source | Sitecore XP — Headless JSS (React) or MVC (Razor/controllers) |
| Target | SitecoreAI (formerly XM Cloud) — SXA Headless, Content SDK 2.0, Next.js |
| Code | Components migrated one at a time, verified live in a sandbox after each one |
| Content | Full content tree — templates, items, renderings, layout — serialized and pushed to SitecoreAI |
| Presentation | SXA conversion — headless tenant, rendering registration, partial designs, page designs |
| Resolvers | C# Rendering Contents Resolvers (and MVC controller-side data shaping) — converted to TypeScript GraphQL adapters |
| Not included | Full redesign, custom module rebuilds |
Migration philosophy
Minimal change (Headless). Approximately 95% of your original JSS component code is preserved. Only what is structurally incompatible with SitecoreAI is modified.
Structural reconstruction (MVC). Razor views become React components with the same DOM structure, class names, and field bindings. The syntax changes; the visual result doesn’t.
Visual and progressive. You see every change rendered in a sandbox dev server before approving it. Nothing happens in the dark.
Incremental and always working. Components are migrated one at a time. After each one, the app still builds and renders.
Safe to stop, safe to resume. Every phase saves progress to artifacts in your workspace. Come back the next day, start a new session — the agents pick up exactly where you left off.
You are the reviewer. Agents propose and execute — you approve, reject, redo, or skip at every meaningful step.
What gets provisioned
When you create a workspace from this recipe, Kajoo automatically provisions:
| 21 specialized agents | Setup, discovery, code migration, content migration, SXA conversion, resolver adapters |
| 5 MCP connections | Source XP instance, target SitecoreAI instance, source code repo, target code repo, Kajoo internal tools |
| 32 skills | DXP-specific knowledge packages covering XP architecture, SitecoreAI SXA patterns, Content SDK 2.0, GraphQL adapters, Razor-to-React translation, and more |
| 1 sandbox | A cloud workspace with its own git repo, dev server, and file system — nothing touches your production systems until you’re ready |
The six phases
The migration runs in six phases. You initiate each one from the Kajoo chat when you’re ready.
Phase 0: Source Setup (~5 min Headless | ~5-30 min MVC)
↓
Phase 1: Discovery (~5-15 min)
↓
┌─────┴─────┐
↓ ↓
Phase 2: Phase 3: (hours — iterative)
Code Content
Migration Migration
│ ↓
│ Phase 4: (~30-60 min)
│ SXA Conversion
│ │
└─────┬─────┘
↓
Phase 5: (hours — iterative; may not apply)
Resolver Adapters
↓
Done
| Phase | What happens | Duration |
|---|---|---|
| Phase 0 — Source Setup | Confirms workspace identity, checks SPE version, and (MVC only) installs Headless Services on your source instance. Required before Discovery. | ~5 min (Headless) / ~5–30 min (MVC) |
| Phase 1 — Discovery | Analyzes your XP codebase and content architecture. Produces the artifact foundation every downstream phase depends on. | ~5–15 min |
| Phase 2 — Code Migration | Migrates components one at a time — JSS to Content SDK 2.0 (Headless) or Razor to React (MVC). Verified live in the sandbox after each component. | Hours (iterative) |
| Phase 3 — Content Migration | Serializes the full XP content tree and pushes it to SitecoreAI namespace by namespace. Runs in parallel with Phase 2. | Hours (iterative) |
| Phase 4 — SXA Conversion | Converts the migrated site structure to SXA Headless — headless tenant, rendering registration, partial designs, page designs. The orchestrator sequences eight steps with your review at each decision point. | ~30–60 min |
| Phase 5 — Resolver Adapters | Replaces C# Rendering Contents Resolvers (and MVC controller-side data shaping) with TypeScript GraphQL adapters, one at a time. Skipped automatically if no resolvers are found. | Hours (iterative) |
Typical timeline: A 30-component site takes 3–5 sessions spread over several days. Discovery and Source Setup are fast. Code and Content migration are the longest phases and can run in parallel.
Before you start
What you need
| Requirement | Details |
|---|---|
| Sitecore XP instance | A live or QA XP environment with SPE installed |
| SitecoreAI instance | A provisioned SitecoreAI (formerly XM Cloud) environment with a starter repository created and remote SPE configured |
| Source code repository | Your XP codebase on GitHub or Azure DevOps |
| Target code repository | A destination repo for the migrated codebase (can be the same repo on a new branch) |
| Kajoo Agentic workspace | Created from this recipe with all four connectors configured |
| MVC only | Headless Services available to install on your source XP instance |
What to expect
- You will be asked to review and approve changes at every meaningful step
- Code Migration and Resolver Adapters are iterative — you work through components or resolvers one at a time
- Sessions can be paused and resumed at any point — nothing is lost between sessions
- The sandbox is isolated — your production XP instance is read-only throughout
How to get started
- Complete Environment Setup to prepare your Sitecore XP and SitecoreAI environments
- Complete Workspace Setup to connect your environments to Kajoo
- Start Phase 0 — Source Setup from your workspace chat
What’s next
| First time? | Start with Environment Setup |
| Workspace already configured? | Jump to Phase 0 — Source Setup |
Updated 27 days ago