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

# Redirect links from your old portal

> Point the domain of the partner portal you are leaving at Introw, so links your partners already shared keep working instead of dead-ending after the move.

When you move off a previous partner portal, its links do not move with you.
They sit in partner emails, in co-marketing pages, in sales decks and in browser bookmarks, and they point at a domain you are about to switch off.
This guide keeps them working: you add one redirect rule at your old domain, and Introw catches every incoming link on your new portal domain and sends the visitor somewhere real.

## What you'll achieve

Every link minted by your old portal resolves on your Introw portal instead of a dead page, with the links that matter most landing on the exact Introw form they used to open.

## Before you start

<Steps>
  <Step title="Have your Introw custom domain live first">
    The redirect lands on your Introw portal domain, so [connect a custom domain](./connect-a-custom-domain) and confirm it serves before you change anything at the old domain.
    Cutting over in the other order leaves the redirect with nowhere to go.
  </Step>

  <Step title="Keep control of the old domain">
    You need to be able to add a redirect rule at the old hostname, at your CDN or DNS provider.
    The old portal itself does not need to stay running.
  </Step>

  <Step title="Know which old links still matter">
    Pull the paths that are still in circulation, typically a referral or lead form, a sign-up page, and the portal root.
    You will hand this short list to Introw in the last step.
  </Step>
</Steps>

## Steps

<Steps>
  <Step title="Redirect the old domain to /legacy">
    Add one wildcard rule at your old portal domain that forwards every path, preserving the path and the query string, to `/legacy` on your Introw domain:

    ```
    https://old.yourcompany.com/*  ->  https://partners.yourcompany.com/legacy/$1
    ```

    One rule covers the whole domain.
    There is nothing per-partner and nothing per-link to maintain at your end, and no API key or token to rotate.
  </Step>

  <Step title="Check that a link lands">
    Open one of the old links in a browser.
    It should end up on your Introw portal rather than an error page.
    Introw recognises which portal the link belongs to from the domain it arrived on, which is why no configuration is needed to get this far.
  </Step>

  <Step title="Send Introw the paths that should land on a form">
    Anything Introw has not been told about lands on your portal home, which is a safe default but not the right one for a link that used to open a form.
    Send your Introw contact the path and the Introw form it should open, for example:

    | Old path               | Should open                 |
    | ---------------------- | --------------------------- |
    | `/s/prospect-referral` | Your lead registration form |
    | `/s/deal-reg`          | Your deal registration form |

    Introw maps them, and those links then go straight to the form instead of the portal home.
  </Step>

  <Step title="Hand over the partner identifiers, if your old links carry them">
    Old links often name the partner who shared them, for example `?referralId=...`, and that identifier is what keeps a submission attributed to the right partner.
    Check what the value actually is before assuming, because it decides whether there is any work left here at all.

    On Salesforce the first three characters of a record id name the object it belongs to: `001` is an Account, while an id starting `a0` is a custom object such as a referral record.
    A name like `referralId` is not evidence either way, so read a real link rather than the parameter name.

    If the value is the account id of the partner, Introw already syncs that and matches it directly, and you send nothing.
    Otherwise, export the pairs of old identifier and partner account id and send them over.
  </Step>
</Steps>

## Verify it worked

Follow a real old link end to end, not a hand-typed one.
A mapped link opens the Introw form it should, with the partner already applied, so a submission arrives attributed rather than unassigned.
An unmapped link opens your portal home.
Campaign parameters such as `utm_source` survive the redirect in both cases, so reporting on links already in the wild stays intact.

## Good to know

<Warning>
  A link whose partner identifier matches nothing still opens the form, without the partner applied.
  On a public lead form that is deliberate: an unattributed submission can be reassigned in Introw afterwards, where an error page loses the lead entirely.
</Warning>

Redirects are not cached, so a correction to a mapping takes effect on the next click rather than waiting out a browser or CDN cache.

## Related

<CardGroup cols={2}>
  <Card title="Connect a custom domain" icon="book-open" href="./connect-a-custom-domain">
    Get your Introw domain live before you cut the old one over.
  </Card>

  <Card title="Share a form" icon="book-open" href="/features/forms/sharing-submitting">
    How Introw form links are built and shared.
  </Card>

  <Card title="Implementation reference" icon="screwdriver-wrench" href="../technical">
    Full custom domain configuration options.
  </Card>
</CardGroup>
