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

# Build a partner directory

> Assemble a partner directory from Introw's building blocks: partner-maintained profiles via forms, an in-portal profile section, a public listing from the partners API, and a take-in form that auto-attributes buyer demand to the right partner.

{/* A partner directory in Introw is composed, not a single toggle - which is what makes it flexible.
  You keep partner data current by letting partners maintain their own listing through a form, show
  each partner their profile in the portal, publish a searchable public directory from the partners
  API, and capture buyer demand with a take-in form that auto-attributes the lead and fires your
  automations. This guide walks the whole composition so the directory stays accurate on its own and
  routes real demand to partners. */}

## What you'll achieve

A partner directory that lists the partners you choose with the fields and categories buyers filter by, stays current because partners maintain their own listings (optionally behind approval), and turns visits into attributed leads: a buyer's request on the directory is routed to the right partner and kicks off your Introw automations, with no separate site to hand-maintain.

## Before you start

<Steps>
  <Step title="Sync partners, categories, and details">
    The directory reads from partner records, so the partners, their **categories**, tier, and display fields (logo, description, location, specialization) must be in [Partners](https://app.introw.io/partners). See [Sync partners and contacts](/features/integrations/crm/guides/sync-partners-and-contacts).
  </Step>

  <Step title="Decide who appears">
    Choose the [segment](/features/partners/segments/guides/create-a-dynamic-segment) or tier that scopes which partners are listed, so only the partners you want to promote show up.
  </Step>
</Steps>

## Steps

### Let partners maintain their own listing

<Steps>
  <Step title="Build a profile form mapped to partner fields">
    Create a [form](/features/forms/form-builder/guides/build-and-publish-a-form) whose fields map to the partner record fields the directory displays (description, specialization, location, logo, categories). Because it writes to the partner record, partners update their own listing instead of emailing you changes.
  </Step>

  <Step title="Gate changes with approval if needed">
    If listings should be reviewed before they go live, add an [approval workflow](/features/forms/submissions-approvals/guides/run-a-submission-approval-workflow) - a human approval step, or an agentic review - so partner edits publish only once approved. Skip this if you trust partners to self-publish.
  </Step>
</Steps>

### Show each partner their profile in the portal

<Steps>
  <Step title="Add the Partner profile section">
    In a partner experience, add the [Partner profile section](/features/portal/experiences/guides/add-a-partner-profile-section) so each logged-in partner sees their own listing and how it appears. Place the profile form next to it so they can edit and immediately see the result.
  </Step>
</Steps>

### Publish a searchable public directory

<Steps>
  <Step title="List partners and categories from the API">
    Render a branded directory on your own website using the partners API (`GET /api/v1/partners`), which returns each partner and their **categories**. Use categories as the search facets buyers filter by (specialization, region, industry). Create the key under [API keys](/features/developer/api/guides/create-and-manage-api-keys) with `partners:read`, and keep it server-side. Only the partners your key is scoped to are returned, so the public listing never exposes more than you intend.
  </Step>
</Steps>

### Capture and route buyer demand

<Steps>
  <Step title="Add a take-in form that auto-attributes the lead">
    Put a [dynamic form](/features/forms/crm-field-mapping/guides/connect-a-form-to-your-crm) on the directory (or on each listing) so a prospect can request an intro. Map the form so the submission **auto-attributes** to the partner the buyer picked, then let it kick off your Introw automations - routing, notifications, CRM sync, and deal or lead registration - so the right partner is engaged automatically.
  </Step>
</Steps>

## Verify it worked

A partner opens the portal, sees their own profile, edits it through the form, and (after approval, if enabled) the change appears in their listing. On your public directory, the partners API returns the scoped partners with their categories, and buyers can filter by category. Submit a test request on the take-in form and confirm it attributes to the chosen partner and triggers the automation you configured (the partner is notified and the lead lands in your CRM).

## Related

<CardGroup cols={2}>
  <Card title="Add a partner profile section" icon="id-badge" href="/features/portal/experiences/guides/add-a-partner-profile-section">
    Show each partner their own listing in the portal.
  </Card>

  <Card title="Build and publish a form" icon="book-open" href="/features/forms/form-builder/guides/build-and-publish-a-form">
    Let partners maintain their listing and buyers request an intro.
  </Card>

  <Card title="Connect a form to your CRM" icon="plug" href="/features/forms/crm-field-mapping/guides/connect-a-form-to-your-crm">
    Auto-attribute take-in submissions and trigger automations.
  </Card>

  <Card title="Create and manage API keys" icon="key" href="/features/developer/api/guides/create-and-manage-api-keys">
    Scope a key to list partners and categories for a public directory.
  </Card>
</CardGroup>
