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

# Channel Conflict

> AI-powered channel conflict screening checks every reseller claim against direct and partner pipeline before approval, so registered deals stay protected.

export const Headless = ({children, intro = true}) => {
  const [copied, setCopied] = useState(null);
  const copy = event => {
    const row = event.target.closest("li");
    if (!row) return;
    const text = row.textContent.trim();
    try {
      navigator.clipboard?.writeText(text);
    } catch {}
    setCopied(text);
    setTimeout(() => setCopied(null), 1600);
  };
  return <>
      {intro ? <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> : null}

      {children ? <div className="not-prose" data-prompts="block">
          <div data-prompts="head">
            <span>{copied ? "Copied" : "Try it from your LLM"}</span>
          </div>
          <div data-prompts="rows" onClick={copy}>
            {children}
          </div>
          <a href="/headless/prompts" data-prompts="more">
            See all prompts
          </a>
        </div> : <Card title="See the headless motion" icon="wand-magic-sparkles" href="/headless">
          The agentic motion - lifecycle deep dives and a Claude Code skill library that run your partner program from
          Claude, ChatGPT, Slack, and your CRM.
        </Card>}
    </>;
};

export const Tour = ({children}) => {
  const [active, setActive] = useState(0);
  const wrappers = (Array.isArray(children) ? children : [children]).filter(c => c && c.props);
  const frames = wrappers.length === 1 && Array.isArray(wrappers[0].props.children) ? wrappers[0].props.children.filter(c => c && c.props) : [];
  if (frames.length < 2) {
    return <div className="not-prose" data-overview="tour">
        {children}
      </div>;
  }
  const thumb = (frame, index) => <button key={index} type="button" onClick={() => setActive(index)} aria-label={`Frame ${index + 1}`} data-active={index === active ? "true" : "false"} data-index={index + 1}>
      {frame}
    </button>;
  return <div className="not-prose" data-overview="tour">
      <div data-tour="hero">{frames[active] ?? frames[0]}</div>
      <div data-tour="strip">{frames.map((frame, index) => thumb(frame, index))}</div>
    </div>;
};

export const Impact = ({children}) => <div className="not-prose" data-overview="impact">
    {children}
  </div>;

export const Personas = ({children}) => <div className="not-prose" data-overview="personas">
    {children}
  </div>;

export const Pains = ({children}) => <div className="not-prose" data-overview="pains">
    {children}
  </div>;

> A registration is only worth something if it actually protects the deal. Channel conflict screening is what makes that promise real: before a reseller's claim is approved, Introw checks it against your direct and partner pipeline, so the reseller knows their investment is safe and your channel stays fair.

## The problem it solves

Registration without conflict screening is a promise you can't keep:

<Pains>
  | Without Introw                    | With Introw                       |
  | --------------------------------- | --------------------------------- |
  | They register, you already had it | Caught at registration, not close |
  | Two partners claim one account    | Who came first is surfaced        |
  | Disputes surface late and hot     | The facts are on the table first  |
  | Resellers stop trusting it        | Fair, fast handling every time    |
</Pains>

## Impact

Registration is only worth something if it actually protects the deal. Screening is what turns your promise into something a reseller will stake a quarter's capacity on.

<Impact>
  for your business

  * **Trustworthy**
    Conflicts are caught on facts, with who is involved and which claim came first, before anyone is credited
  * **In your CRM**
    Screening runs against the deals already in HubSpot or Salesforce, so nothing slips past in a registration silo

  for your partners

  * **Self-serve**
    They find out where they stand at registration, rather than at close
  * **Enabled**
    A screened claim is a claim worth making, which is what gets deals registered early
  * **Efficient**
    One decision up front instead of an escalation months later

  [A day in the life of a reseller](/days-in-the-life/reseller)
</Impact>

<Personas>
  * **Partner Managers** - clean claims without policing
  * **Chief Revenue Officer** - direct and channel kept aligned
  * **Resellers** - a claim that holds
</Personas>

## See it work

<Tour>
  * ![The Channel Conflict Analysis panel, choosing the object to screen against with filters and additional context.](https://assets.introw.io/docs/features/ai/channel-conflict/guides/catch-and-resolve-channel-conflict/steps/04.png)

    **Turn on the screen**

    Pick the object to check against, and narrow it with filters.

  * ![A registration form's automations, confirming it creates a deal before conflict analysis runs.](https://assets.introw.io/docs/features/ai/channel-conflict/guides/catch-and-resolve-channel-conflict/steps/03.png)

    **On the registration form**

    It runs on the form resellers register through.
</Tour>

## How it works

Channel conflict screening is the gate between a reseller registering a deal and that deal becoming protected, attributed pipeline. The moment a registration comes in, Introw cross-references your CRM for an existing deal on the same account or opportunity - your direct team's, or another partner's. Any overlap is flagged with the full context: who's involved, which claim came first, and the rules that apply. Clean registrations flow through; overlapping ones are surfaced for a fast, fair decision before anyone is credited.

This is the same [AI channel-conflict engine](/features/ai/channel-conflict) that runs across every submission motion, applied here to the reseller registration flow. The detection and resolution work the same way; what's specific to deal registration is what's at stake - a reseller's margin and their trust in the program.

Screening turns registration from a hopeful form submission into a real guarantee. The reseller registers, Introw checks the claim against your pipeline, and only a conflict-free (or fairly resolved) deal becomes their protected, attributed opportunity.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  register["Reseller registers"] --> screen["Conflict screen vs. pipeline"]
  screen -->|clear| protected["Protected, attributed deal"]
  screen -->|overlap| resolve["Flagged for fair resolution"]
```

## Run it from your AI assistant

<Headless>
  * Does this registration conflict with any direct or partner pipeline?
  * Which registrations overlap an existing opportunity?
  * Is Globex already being worked by our direct team?
</Headless>

## Going deeper

<CardGroup cols={2}>
  <Card title="Set up conflict screening" icon="robot" href="/features/ai/channel-conflict">
    Configure detection and resolution on the AI channel-conflict page.
  </Card>

  <Card title="Catch and resolve channel conflict" icon="book-open" href="/features/ai/channel-conflict/guides/catch-and-resolve-channel-conflict">
    Turn on screening for a deal form and work conflicts from the inbox.
  </Card>
</CardGroup>

**Works with**

<CardGroup cols={2}>
  <Card title="Channel Conflict Resolution" icon="robot" href="/features/ai/channel-conflict">
    The AI engine that detects and resolves conflict.
  </Card>

  <Card title="Deal Registration" icon="file-signature" href="/features/deal-registration/registration">
    Every registration is screened before approval.
  </Card>

  <Card title="Submissions & Approvals" icon="table-list" href="/features/forms/submissions-approvals">
    Flagged registrations route through approval.
  </Card>
</CardGroup>
