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

# Forms

> No-code forms that capture structured partner input, route it through approvals, and sync straight back to your CRM.

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

> Forms are how partners give you structured information: build a no-code form, embed it in the portal or your CRM, route submissions through review and approval, and write the data straight back to HubSpot or Salesforce.

## What this area does

Whenever you need information from a partner, a form is the tool. This area lets your team build
no-code forms with the fields you need, brand them to your portal, and put them in front of
partners through a share link, an embed, or a portal section. Partners fill them in without a CRM
seat, and the structured data flows where it belongs.

Submissions land in one inbox where your team reviews, accepts, declines, or returns them, with
optional multi-step approval gates and AI assistance to handle routine cases. Field mapping
connects each form to your CRM objects and properties, so an accepted submission creates or
updates the right records automatically. The same Forms platform powers many partner workflows,
from onboarding applications to MDF requests, while deal and lead registration get their own
co-selling treatment.

## Why it matters

* **Low total cost of ownership** - Partner ops builds and changes forms with no-code, so a new field or approval step never waits on engineering.
* **Time to value** - A form is live and syncing to your CRM in minutes, so you capture structured partner input the same day you decide you need it, with no development cycle.
* **CRM-native** - Submissions map straight to CRM objects and properties, so data lands clean in the source of truth instead of a form silo someone has to re-key.
* **AI-native** - AI reviews submissions and handles routine approvals, so your team spends its time on the judgment calls that actually need a human.

## How it fits together

Structured partner input flows from a form to a synced CRM record:

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
  build["Build form"] --> submit["Partner submits"]
  submit --> inbox["Submissions inbox"]
  inbox --> approval["Approval"]
  approval --> record["CRM record"]
```

## Capabilities

<CardGroup cols={2}>
  <Card title="Form Builder" icon="table-list" href="./form-builder">
    Build no-code forms and put them in front of partners.
  </Card>

  <Card title="Submissions & Approvals" icon="inbox" href="./submissions-approvals">
    Review submissions in one inbox with optional approval gates.
  </Card>

  <Card title="CRM Field Mapping" icon="arrows-rotate" href="./crm-field-mapping">
    Map form fields to CRM objects so submissions sync back.
  </Card>
</CardGroup>

## Who works in this area

<CardGroup cols={2}>
  <Card title="Partner Operations" icon="user">
    Builds forms, maps fields to the CRM, and configures approvals.
  </Card>

  <Card title="Partner Marketing & Enablement" icon="user">
    Embeds forms into the portal and partner journeys.
  </Card>

  <Card title="RevOps" icon="user">
    Ensures submission data lands cleanly in the CRM.
  </Card>
</CardGroup>

## Headless

<Headless
  prompts={[
"Submit a co-marketing request form for Acme.",
"Show all pending form submissions across every form.",
"Approve Globex's submission and notify them.",
]}
/>

## All guides

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

<CardGroup cols={2}>
  <Card title="Connect a form to your CRM" icon="book-open" href="/features/forms/crm-field-mapping/guides/connect-a-form-to-your-crm">
    Map fields to CRM properties, control how submissions create or update records, attribute them to the partner, and prefill from known data.
  </Card>

  <Card title="Build and publish a form" icon="book-open" href="/features/forms/form-builder/guides/build-and-publish-a-form">
    Create a no-code form, add and configure every field, set the confirmation, and get it in front of partners.
  </Card>

  <Card title="Bulk upload multiple records" icon="book-open" href="/features/forms/form-builder/guides/bulk-upload-multiple-records">
    Let partners submit many records in one form with a CSV batch upload.
  </Card>

  <Card title="Set up a partner application form" icon="book-open" href="/features/forms/form-builder/guides/set-up-a-partner-application-form">
    Turn a form into a self-serve partner application that auto-creates the partner in Introw, links company and contact records in your CRM, and invites the applicant to their portal.
  </Card>

  <Card title="Customize the submissions inbox" icon="book-open" href="/features/forms/submissions-approvals/guides/customize-the-submissions-inbox">
    Choose the columns you review submissions by, including custom and CRM fields.
  </Card>

  <Card title="Run a submission approval workflow" icon="book-open" href="/features/forms/submissions-approvals/guides/run-a-submission-approval-workflow">
    Set up an approval gate with steps and AI validation, notify the right people, and review every submission to a clear outcome.
  </Card>
</CardGroup>
