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

# Slack & Teams

> Meet partners and your team in chat - post partner activity to Slack and Teams, run shared partner channels, and let the support agent answer where people already work.

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

export const provider_0 = "Slack and Microsoft Teams"

> Partners and reps live in chat, not in a portal. The Slack and Teams integrations bring partner activity, shared channels, and Introw's AI agents into the tools your team and partners already use every day.

## What it does

The Slack and Teams integrations connect your workspace or tenant to Introw. You can run shared
external channels, one per partner, so collaboration happens in chat, and post internal notifications
to your own channels when partner activity occurs, like pipeline updates, form submissions, and tasks.
Introw's AI agents also work in chat: partners ask the support agent in shared channels, and your team
asks the internal agent in internal channels, so answers and actions happen without leaving Slack or Teams.

You map which channel belongs to which partner, choose which notifications to post and where, and
scope internal notifications by partner or filter. The result is partner work that flows into chat
automatically, keeping everyone in the loop where they already collaborate.

## Ask Introw in {provider_0}

Introw runs two AI agents inside {provider_0}, so partners and your team get answers
and take action without leaving chat. Both read live from your CRM source of truth
and act only within each person's own access - partners stay scoped to their portal,
your team stays scoped to theirs.

<CardGroup cols={2}>
  <Card title="Partner support agent - shared channels" icon="robot" href="/features/ai/partner-support">
    In a shared partner channel, partners just **@-mention Introw** to ask the same questions they could in the portal - deal status, commissions, tiers, content, or even registering a deal - and get an instant, scoped answer.
  </Card>

  <Card title="Internal agent - internal channels" icon="chart-line" href="/headless/agentic-use-cases/ecosystem-performance">
    In your internal channels, your team **@-mentions Introw** to get insight on the partner ecosystem and act on it - handle open form submissions, surface best-performing partners, check pipeline, and update partner records.
  </Card>
</CardGroup>

### Partners self-serve in shared channels

@-mention Introw in a shared partner channel and the [partner support agent](/features/ai/partner-support)
answers from your knowledge base and live portal data, scoped to that partner. It is the
same agent partners use in the portal, now in {provider_0}: it can answer questions in any
language and take action on the partner's behalf - register a deal, update a record, or
surface the right asset - without anyone on your team being pulled in.

### Your team gets ecosystem insight in internal channels

@-mention Introw in an internal channel and the internal agent answers questions about
your whole program and acts on it, scoped to your access - no portal hunt and no RevOps
ticket. For example:

* **Handle open work** - "Show me open form submissions," then approve, reject, or follow up on [deal and lead registrations](/features/forms/submissions-approvals) right from chat.
* **Spot what's working** - "Who are my best-performing partners this quarter?" to pull [ecosystem performance](/headless/agentic-use-cases/ecosystem-performance) on demand.
* **Update partners** - "Move Acme to Gold" or "add a note to this partner" to change partner records on the fly.
* **Check the numbers** - "What's this partner's pipeline and commission status?" for a live readout.

<Note>
  Both agents depend on the [partner support agent](/features/ai/partner-support) being
  enabled. Each agent only ever sees and does what the person talking to it is allowed to -
  partners are scoped to their own portal data, your team to your program.
</Note>

## The problem it solves

Important partner activity gets lost when it lives only in a portal:

* **Updates go unseen** → Activity posts to Slack and Teams automatically.
* **Collaboration is fragmented** → Shared channels keep each partner's conversation in one place.
* **Partners must log in for help** → The support agent answers in chat.
* **Teams miss key events** → Internal notifications post to your channels.

## From problem to solution

Slack and Teams bring partnerships into the flow of work. Connect once, map channels, and partner
activity, collaboration, and support all happen in chat, off the portal and in the open.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  connect["Connect Slack or Teams"] --> map["Map channels"]
  map --> flow["Activity, collaboration, and support in chat"]
```

## Use cases

<CardGroup cols={2}>
  <Card title="Collaborate in chat" icon="circle-check">
    Run a channel per partner.
  </Card>

  <Card title="Surface activity" icon="circle-check">
    Post updates to your team.
  </Card>

  <Card title="Let partners self-serve" icon="circle-check">
    Partners @-mention the support agent in shared channels.
  </Card>

  <Card title="Query your ecosystem" icon="circle-check">
    Your team @-mentions the internal agent in internal channels.
  </Card>
</CardGroup>

## Impact

* **Work where you already are** - Partner work happens in chat, not only the portal.
* **Low total cost of ownership** - Partner ops maps channels and notifications with no engineering.

## Who it's for

<CardGroup cols={2}>
  <Card title="Partner Operations" icon="user">
    Maps channels and notifications.
  </Card>

  <Card title="Partner Marketing" icon="user">
    Keeps partners engaged in chat.
  </Card>
</CardGroup>

## Works with

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

<CardGroup cols={2}>
  <Card title="Partner Notifications" icon="users" href="/features/partners/notifications">
    Deliver notifications to Slack and Teams.
  </Card>

  <Card title="Partner Support Agent" icon="robot" href="/features/ai/partner-support">
    Partners ask the AI agent in chat.
  </Card>

  <Card title="Announcements" icon="browser" href="/features/portal/announcements">
    Broadcast announcements into chat.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Register a deal for Acme from Slack.",
"Ask from Teams which partners haven't registered a deal this quarter.",
"Share a lead with the vendor straight from Slack.",
]}
/>

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