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

# Requests, Claims & ROI

> Run the full MDF lifecycle - partners request funds, submit claims with proof, and report ROI, all reviewed in one place.

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

> Requests, Claims & ROI is the working lifecycle of your MDF program: partners request funds, submit claims with proof of spend, and report results, and your team approves and reimburses, all as CRM-linked records.

## What it does

Every fund runs through a lifecycle: a partner requests budget, you approve it, the partner spends
and submits claims with proof, reports the ROI of the activity, and gets reimbursed. Each step is a
branded form, and submissions land in the same review inbox your team uses for all forms, so
approving MDF works exactly like approving any other submission. You can configure timelines for
each step, so partners know the deadline to claim or report.

ROI is built in. Partners report results through a form, and funds can track real-time ROI from
CRM data, counting objects or summing a property, so you can show the return each fund produced.
When a request is fully reimbursed, you mark it paid, closing the loop with a complete,
CRM-connected record of the spend and its impact.

## The problem it solves

MDF spend without structure is impossible to govern or justify:

* **Requests and claims arrive by email** → Partners submit through branded forms into one inbox.
* **Approvals are inconsistent** → Each step uses the same review and approval mechanics.
* **Deadlines slip** → Configure timelines for request, claim, ROI, and invoice steps.
* **ROI is never proven** → Track ROI from forms and real-time CRM data.

## From problem to solution

Requests, Claims & ROI gives MDF a governed lifecycle. Partners request, claim, and report through
forms; your team approves and reimburses in one place; and ROI ties back to CRM data. The program
becomes auditable and defensible instead of a spreadsheet of receipts.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  request["Request"] --> claim["Claim with proof"]
  claim --> reimburse["Approve and reimburse"]
  reimburse --> roi["ROI tied to CRM"]
```

## Use cases

<CardGroup cols={2}>
  <Card title="Structured requests" icon="circle-check">
    Partners request budget through a branded form.
  </Card>

  <Card title="Claims with proof" icon="circle-check">
    Collect expense claims and documentation.
  </Card>

  <Card title="Prove ROI" icon="circle-check">
    Track results from forms and CRM data.
  </Card>

  <Card title="Close the loop" icon="circle-check">
    Approve, reimburse, and mark requests paid.
  </Card>
</CardGroup>

## Impact

* **Low total cost of ownership** - Partner marketing runs the lifecycle with no engineering.
* **CRM-native** - Requests and claims are CRM-linked, so ROI ties to real pipeline.

## Who it's for

<CardGroup cols={2}>
  <Card title="Partner Marketing" icon="user">
    Reviews requests and claims and proves ROI.
  </Card>

  <Card title="Finance" icon="user">
    Approves spend and reconciles reimbursements.
  </Card>
</CardGroup>

## Works with

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

<CardGroup cols={2}>
  <Card title="Funds & Allocation" icon="sack-dollar" href="/features/mdf/funds-allocation">
    Claims draw down allocations.
  </Card>

  <Card title="Form Builder" icon="table-list" href="/features/forms/form-builder">
    Capture requests and claims as forms.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Submit an MDF request for Acme: $5k for a co-hosted webinar.",
"Show all pending MDF requests and claims.",
"Approve Acme's MDF claim and notify them.",
"What ROI have partners reported against the Q2 fund?",
]}
/>

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