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

# Announcements

> Reach partners where they are - broadcast updates in the portal, by email, and in Slack or Teams, with AI helping you draft and target.

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

> Announcements keep partners informed wherever they work: post in the portal, send by email, and push to Slack or Teams, with AI helping you draft and target the right partners.

## What it does

Announcements broadcast updates to your partners across the channels they actually check. You
compose an announcement once, target the partner segments it is for, and deliver it in the
portal, by email, and into Slack or Teams. Partners do not have to live in the portal to stay
informed, which fits how partner attention is split across many tools.

AI helps you move faster. Instead of writing every update from a blank page, you can generate
announcement drafts and shape them to the audience, then send. After it goes out, you can see
who was reached, who opened, and who clicked, and nudge the partners who missed it.

## The problem it solves

Partner updates that only live in a portal mostly go unseen:

* **Partners do not check the portal daily** → Deliver announcements by email and in Slack or Teams too.
* **Writing every update is slow** → Generate drafts with AI and shape them to the audience.
* **Updates reach the wrong partners** → Target announcements to specific segments.
* **You cannot tell what landed** → See who was sent, opened, and clicked, and nudge the rest.

## From problem to solution

Announcements meet partners off-portal. Draft with AI, target the right segments, and deliver
across the portal, email, and chat. Then measure engagement and follow up, so important updates
actually get through instead of sitting unread.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  draft["Draft with AI"] --> target["Target segments"]
  target --> deliver["Deliver across portal, email, chat"]
  deliver --> measure["Measure engagement"]
```

## Use cases

<CardGroup cols={2}>
  <Card title="Reach partners everywhere" icon="circle-check">
    Deliver in the portal, by email, and in Slack or Teams.
  </Card>

  <Card title="Draft faster with AI" icon="circle-check">
    Generate announcement drafts instead of starting from scratch.
  </Card>

  <Card title="Target the right partners" icon="circle-check">
    Send to the segments an update is meant for.
  </Card>

  <Card title="Measure and follow up" icon="circle-check">
    See engagement and nudge partners who missed it.
  </Card>
</CardGroup>

## Impact

* **Work where you already are** - Updates reach partners in email and chat, not only the portal.
* **AI-native** - AI drafts announcements so your team multiplies partner-facing output.
* **Low total cost of ownership** - Partner marketing runs announcements end to end, no engineering.

## Who it's for

<CardGroup cols={2}>
  <Card title="Partner Marketing & Enablement" icon="user">
    Runs partner communications across channels.
  </Card>

  <Card title="VP Partnerships / CPO" icon="user">
    Wants partners consistently informed and engaged.
  </Card>
</CardGroup>

## Works with

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

<CardGroup cols={2}>
  <Card title="Segments" icon="users" href="/features/partners/segments">
    Target announcements by segment.
  </Card>

  <Card title="Slack & Teams" icon="plug" href="/features/integrations/chat">
    Deliver into Slack and Teams.
  </Card>

  <Card title="Partner Notifications" icon="users" href="/features/partners/notifications">
    Ride the notification system.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Which announcements have partners seen recently?",
"Show partner engagement with our latest announcement.",
]}
/>

## 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">
    Integration surface and code.
  </Card>
</CardGroup>
