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

# Projects

> A co-marketing project a partner runs on your MDF funds - proposed, approved, worked, and reimbursed as a live CRM-linked record attributed to the partner.

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 project is a co-marketing activity a partner runs on your funds, and it starts with a proposal: what they want to run, how much they need, and what they expect it to produce. In Introw that project is a CRM-linked record, proposed through a form you control, approved the way you choose, and worked collaboratively from day one through claims, ROI, and reimbursement - not an email you chase down and re-key.

## The problem it solves

Proposals over email are slow, unattributed, and impossible to govern:

<Pains>
  | Without Introw                   | With Introw                      |
  | -------------------------------- | -------------------------------- |
  | Requests are email threads       | A form they send from anywhere   |
  | You retype it into the CRM       | It arrives as a CRM record       |
  | Partners must guess which budget | They just ask; you pick the fund |
  | Approvals happen ad hoc          | Approvers in order               |
  | Questions bounce over email      | One shared project               |
</Pains>

## Impact

Partners judge a marketing program by how long it takes to hear yes. A form they can send from anywhere and a decision on a stated deadline is what brings you their ideas first.

<Impact>
  for your business

  * **In your CRM**
    The proposal is born as an attributed CRM record, so nothing is retyped and every funded activity is reportable
  * **No new tool**
    Partners propose from the portal, an email link or a chat channel, and your team reviews it in one inbox
  * **AI, not admin**
    AI clears the straightforward proposals and routes the rest through the approvers you named, in order
  * **Cost to run**
    Scope questions get resolved in the shared project rather than in a thread nobody can find later

  for your partners

  * **Self-serve**
    One request form from anywhere, whatever your fund structure looks like behind it
  * **Enabled**
    A shared workspace where they can ask a question and get an answer against the actual request
  * **Efficient**
    A decision deadline they can plan around instead of an email thread that goes quiet

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

<Personas>
  * **Partner Marketing** - requests that arrive ready to decide
  * **Partner Operations** - one intake, whatever the fund structure
  * **Partners** - submit from anywhere, then work it in one place
</Personas>

## See it work

<Tour>
  * ![The Request Fund step of a marketing fund, showing the proposal intake form partners submit.](https://assets.introw.io/docs/features/mdf/projects/guides/configure-the-proposal-form/steps/04.png)

    **Ask**

    The form partners fill in, built without code.

  * ![Sequential acceptance steps on the proposal form, each of which must accept before the next.](https://assets.introw.io/docs/features/mdf/projects/guides/configure-the-proposal-form/steps/05.png)

    **Approve**

    Approvers in order, each one before the next.

  * ![A partner's fund request open for review, with what they plan to run, the amount asked for, the activity type and the thread the decision is made in.](https://assets.introw.io/docs/features/mdf/projects/shots/request.png)

    **Review**

    Incoming requests, where you pick which fund pays.

  * ![A reviewed MDF request showing its details, the fund it was assigned to, and its next lifecycle step.](https://assets.introw.io/docs/features/mdf/projects/guides/run-the-mdf-lifecycle/steps/14.png)

    **Run it**

    The approved project, where both sides work together.
</Tour>

## How it works

A partner proposes an activity - a webinar, a field event, a content campaign - through a **proposal form**. The submission creates a project record in your CRM (activity type, requested amount, activity date, expected outcomes) attributed to the submitting partner using the [attribution method](/features/integrations/crm/attribution) you already use. Your team reviews it, sets an approved amount, and the project moves forward.

Partners do not need the portal to propose. They can submit from a **shared link**, an **embed** on your site, straight from **email**, or through their **own AI assistant** over MCP. The proposal still lands as the same attributed CRM record. From the moment it exists, the proposal is a **real-time collaborative project**. The partner and your team comment, share context and refine scope together, with a deadline on the decision so nothing stalls.

With multiple funds, partners shouldn't have to know which budget their idea belongs to. Introw gives you **one generic intake** - a single "Request marketing funds" form that isn't tied to any fund. A partner just describes the activity and how much they need, and the request arrives in the **MDF requests inbox as a normal proposal**. Reviewing it, a room admin **picks the marketing fund from a dropdown**; only then can the proposal be accepted, and acceptance creates the approved, fund-linked project exactly like a fund-specific request. No fund selection is ever pushed onto the partner.

### Partners don't pick the fund - your team does

With multiple funds, partners shouldn't have to know which budget their idea belongs to. Introw gives you **one generic intake** - a single "Request marketing funds" form that isn't tied to any fund. A partner just describes the activity and how much they need, and the request arrives in the **MDF requests inbox as a normal proposal**. Reviewing it, a room admin **picks the marketing fund from a dropdown**; only then can the proposal be accepted, and acceptance creates the approved, fund-linked project exactly like a fund-specific request. No fund selection is ever pushed onto the partner.

* **Accept is gated on the fund** - before a fund is picked the request has no budget, so Accept is disabled. You can still collaborate, return, or decline it in the meantime.
* **Always changeable** - a room admin can change the marketing fund from the request's **Edit** dialog at any time, on the pending submission or the running MDF request. The change cascades to the request's claims, ROI, and invoices. Partners (room visitors) can never change the fund.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  propose["Partner proposes, from anywhere"] --> record["Pending proposal, attributed"]
  record --> pick["Admin picks the fund"]
  pick --> approve["Agentic or human approval"]
  approve --> collaborate["Approved, fund-linked project"]
```

## Run it from your AI assistant

<Headless>
  * Submit an MDF proposal for Acme: \$5k for a co-hosted webinar next quarter.
  * Which MDF proposals are still waiting on approval?
  * What did Acme propose to spend their Q3 allocation on?
</Headless>

## Going deeper

<CardGroup cols={2}>
  <Card title="How to" icon="screwdriver-wrench" href="./technical">
    Configure the proposal form, its automations, approval, and timeline.
  </Card>

  <Card title="API reference" icon="code" href="/general/introduction">
    Integration surface and code.
  </Card>
</CardGroup>

**Works with**

<CardGroup cols={2}>
  <Card title="Funds & Allocation" icon="sack-dollar" href="/features/mdf/funds-allocation">
    Proposals draw down a partner's allocation.
  </Card>

  <Card title="Proof of Expense" icon="sack-dollar" href="/features/mdf/claims">
    Approved proposals are claimed against with proof.
  </Card>

  <Card title="Form Builder" icon="table-list" href="/features/forms/form-builder">
    The proposal form is built and customized no-code.
  </Card>
</CardGroup>
