> ## Documentation Index
> Fetch the complete documentation index at: https://university.triggr-app.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Phishr

> Connect your Phishr reseller account to Triggr with one API token, then link each client to its Phishr tenant.

Triggr works with Phishr tenants, users and cohorts. Phishr calls users "user roles", so the user actions are Get User Roles, Get User Role, Update User Role and Get User Role Report; to deactivate a user, run Update User Role with `{"active": false}`.

## Set up Phishr

One token from your reseller account covers every client. Its creator must have two-factor authentication turned off, so use a separate admin user for Triggr.

<Steps>
  <Step title="Create an API token">
    Sign in as an admin of your reseller account (not a tenant) and go to **Developers > API Tokens**. Click **+ New API Token**, name it `Triggr` and click Create API Token.
  </Step>

  <Step title="Copy the token">
    Copy the whole token, including the number and `|` at the start. Phishr shows it only once.
  </Step>
</Steps>

See the [Phishr API documentation](https://documenter.getpostman.com/view/31242485/2s9YeEcscS).

## Connect it in Triggr

<Steps>
  <Step title="Open the configuration">
    Go to **Integrations > Phishr** and click **Configure** on the Base Configuration card.

    <Frame>
      <img src="https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/integrations-common/base-configuration.png?fit=max&auto=format&n=nyuVXZ1rouDTTEvu&q=85&s=bb81acb082055015f91beda7b4876f35" alt="The Base Configuration card with Status Not Configured, Admin Consent Not Required and a Configure button." width="2272" height="330" data-path="images/integrations-common/base-configuration.png" />
    </Frame>
  </Step>

  <Step title="Enter the token">
    Paste the token into apiToken and click Save Configuration.

    <Frame>
      <img src="https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/phishr/configure.png?fit=max&auto=format&n=nyuVXZ1rouDTTEvu&q=85&s=ec02e4eae003a76cc9ce9b8297744404" alt="The Phishr configuration window with an apiToken field, an Allow insecure TLS switch under Advanced, and a Save Configuration button." width="1344" height="898" data-path="images/phishr/configure.png" />
    </Frame>
  </Step>
</Steps>

## Set up each client

User actions run in the client's tenant, and per-client integrations never fall back to the Base Configuration, so each client needs its tenant ID. Tenant and cohort actions work at reseller level.

<Steps>
  <Step title="Find the tenant ID">
    In Phishr, go to **Tenants > All Tenants**, right-click Manage on the client's row and copy the link. The tenant ID is the UUID after `orgId=`. Get Tenants also lists every tenant's `id`.
  </Step>

  <Step title="Save it in Triggr">
    Click **Configure** on the client's row in the Per-Client Configuration card, enter the ID in tenantId and click Save Configuration. Triggr saves it as the client's `phishrId` variable.

    <Frame>
      <img src="https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/integrations-common/per-client-configuration.png?fit=max&auto=format&n=nyuVXZ1rouDTTEvu&q=85&s=11464b4946bea0b580c73330d9114a41" alt="The Per-Client Configuration card listing Acme Corp and Globex, each Not Configured with Admin Consent Not Required and a Configure button." width="2272" height="646" data-path="images/integrations-common/per-client-configuration.png" />
    </Frame>
  </Step>
</Steps>

If clients already have a `phishrId` variable, click **Automap** at the top of the page to configure them all at once.

## Troubleshooting

<AccordionGroup>
  <Accordion title="no Phishr integration is configured for this client">
    Add the client's tenant ID, as in [Set up each client](#set-up-each-client).
  </Accordion>

  <Accordion title="Error 401: OTP code required">
    The token's user has two-factor authentication on. Create a new token as a reseller admin without it, and paste it in with Edit on the Base Configuration card.
  </Accordion>

  <Accordion title="Other 401 errors">
    Check the token is pasted in full, including the number and `|`, and is still listed under Developers > API Tokens.
  </Accordion>

  <Accordion title="User actions fail for one client">
    Check the client's tenantId matches a tenant in your reseller account, and the token was created by a reseller admin.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.