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

# Co-branded Assets

> Let partners generate marketing assets that carry both your brand and theirs, so co-marketing scales without your team designing one-offs.

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

> Co-marketing stalls when every asset needs your design team, and a logo stitched on a deck was never really co-branding. Partners, and their AI agents, pull your enablement and generate fully co-branded versions themselves, in any format, in minutes.

## What it does

Co-branded assets are templates that automatically combine your branding with each partner's, so a partner can take a one-pager, a slide, or a campaign asset and have it personalized with their logo and details without design work. You create the template once and control what partners can change; partners generate their own co-branded version and use it to sell.

Co-branding goes well beyond dropping in a logo. Partners can pull an asset into their own AI assistant over Introw's [MCP server](/features/developer/mcp) and generate a fully co-branded version, recomposed with their branding, details, and voice, and exported in whatever format they need (PDF, DOCX, JPEG). You still control what stays locked, so both brands remain consistent no matter how the asset is generated.

The assets live in the same library that powers the rest of your enablement, so they are governed, versioned, and easy to distribute.

## The problem it solves

* **Every co-branded asset is a design request** → Partners generate their own from a template, freeing your team.
* **A logo stitched on a deck isn't real co-branding** → Fully recomposed, on-brand documents in any format partners actually use.
* **Partners go off-brand making their own materials** → Templates keep both brands consistent.
* **Co-marketing does not scale** → Hundreds of partners can self-serve on-brand assets.
* **Partners lack ready materials to sell** → They grab a co-branded asset, or generate one from their LLM, and go.

## From problem to solution

Instead of your team producing a custom asset for each partner, you publish a co-branded template and let partners generate their own version, from the portal or straight from their own AI assistant. Co-marketing scales to the whole program, the output is a fully co-branded document in the format the partner needs, and your locked areas keep both brands consistent.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  template["Publish a co-branded template"] --> pull["Partner or AI agent pulls it"]
  pull --> generate["Generate co-branded version (any format)"]
  generate --> launch["Download and launch"]
```

## Use cases

<CardGroup cols={2}>
  <Card title="Scale co-marketing" icon="circle-check">
    Every partner self-serves on-brand assets.
  </Card>

  <Card title="Stay on-brand" icon="circle-check">
    Templates control both brands.
  </Card>

  <Card title="Free your design team" icon="circle-check">
    No more one-off co-branded requests.
  </Card>

  <Card title="Arm partners to sell" icon="circle-check">
    Ready co-branded materials on demand.
  </Card>

  <Card title="Generate with AI" icon="circle-check">
    Partners recompose assets from their own LLM.
  </Card>

  <Card title="Any format" icon="circle-check">
    Export co-branded PDF, DOCX, or JPEG.
  </Card>
</CardGroup>

## Impact

* **Low total cost of ownership** - marketing builds templates with no per-partner work.
* **Partner self-serve** - partners create their own co-branded assets.
* **Work where you already are** - partners generate co-branded assets from their own AI tools, not only the portal.
* **AI-native** - partner AI agents recompose assets into fully co-branded versions, well beyond logo placement.

## Who it's for

<CardGroup cols={2}>
  <Card title="Partner Marketing & Enablement" icon="user">
    Builds and governs co-branded templates.
  </Card>

  <Card title="Partner - Sales & Marketing" icon="user">
    Generates co-branded materials to sell with.
  </Card>
</CardGroup>

## Works with

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

<CardGroup cols={2}>
  <Card title="Asset Library" icon="folder-open" href="/features/content/asset-library">
    Co-brand straight from the library.
  </Card>

  <Card title="Branding & White-label" icon="browser" href="/features/portal/branding">
    Apply partner and vendor branding.
  </Card>

  <Card title="Certificates" icon="graduation-cap" href="/features/courses/certificates">
    Co-brand certificates the same way.
  </Card>

  <Card title="Through-Channel Marketing (TCMA)" icon="folder-open" href="/features/content/tcma">
    Distribute co-branded assets in partner campaigns.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Generate a co-branded version of the launch one-pager with our branding",
"Which co-branded assets can I personalize?",
]}
/>

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