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

# Cofense PhishMe integration setup

> Connect Cofense PhishMe to Living Security for phishing-simulation delivery, interaction, and reporting activity.

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Related resources</h2>
    <ul>
      <li>
        <a href="/signals/data-sources">Learn how integration data becomes Human Risk Management signals</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">Explore Living Security integrations</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">Open the Living Security Platform</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">Request a Living Security demo</a>
      </li>
    </ul>
  </>;

export const ConnectInPlatform = ({tile, children}) => <Step title="Enter the credentials in the Living Security Platform">
    <p>
      Completed by whoever holds Living Security access — the program owner, or the system
      admin if they've been invited (delegated setup).
    </p>
    <ol>
      <li>
        Go to <strong>Settings → Integrations → Catalog</strong>, find the{' '}
        <strong>{tile}</strong> tile, click <strong>Connect</strong>.
      </li>
      <li>
        Fill in the fields below, then click <strong>Connect</strong>.
      </li>
    </ol>
    {children}
  </Step>;

export const SystemAdminBanner = ({system, recommendDelegated}) => <Note>
    <p>
      <strong>This guide is for your {system} administrator.</strong> It covers creating API
      credentials inside {system}, which requires admin access to {system} — not to the
      Living Security Platform.
    </p>
    <p>
      If you're the Living Security <strong>program owner</strong> and don't administer {system},
      send this page to whoever does. They complete Part A and hand the credentials back to you
      (or enter them directly if you've invited them into the platform).
      {recommendDelegated && <>
          {' '}Because setup produces sensitive key material, we recommend the{' '}
          <strong>delegated setup</strong> path so the secret is never sent back to you.
        </>}
    </p>
  </Note>;

<SystemAdminBanner system="Cofense PhishMe" recommendDelegated={true} />

## What this integration contributes

Cofense PhishMe can contribute normalized phishing-simulation delivery, interaction, and reporting activity. Reviewed examples include:

* `phishing.simulation.clicked` — clicked a simulation without reporting
* `phishing.simulation.attachment.opened` — opens phishing-simulation attachments
* `phishing.simulation.credential.submitted` — submits credentials to phishing simulations

See [how integration data becomes signals](/signals/data-sources).

## What Living Security needs

| Credential       | Description                                                               |
| ---------------- | ------------------------------------------------------------------------- |
| **API token**    | A Cofense PhishMe API token with access to scenario results.              |
| **PhishMe host** | Your tenant or regional hostname, without `https://` or a trailing slash. |

Use a dedicated, read-only token when your Cofense tenant supports scoped credentials.

## Setup

<Steps>
  <Step title="Create the Cofense API token">
    In Cofense PhishMe, create a dedicated API token for Living Security with permission to read scenarios and their result exports. Save the token securely.
  </Step>

  <Step title="Confirm the tenant host">
    Record the hostname you use to sign in to PhishMe, such as `login.phishme.com` or the hostname assigned to your region.
  </Step>

  <ConnectInPlatform tile="Cofense PhishMe">
    Enter the hostname and API token, then connect.
  </ConnectInPlatform>
</Steps>

## Verify and troubleshoot

Verify that the connection test can read scenarios. The initial historical import may take longer when the tenant contains many simulations.

<AccordionGroup>
  <Accordion title="401 or 403 response">
    Confirm that the token is active and can read scenario results. If the token is rotated, reconnect with the replacement.
  </Accordion>

  <Accordion title="API token busy">
    Cofense can temporarily lock a token while a report is generated. Allow the current synchronization to retry before starting another connection test.
  </Accordion>

  <Accordion title="No scenarios returned">
    Confirm that the credential can see completed scenarios and that the hostname belongs to the same Cofense tenant that issued the token.
  </Accordion>
</AccordionGroup>

<PublicIntegrationNextSteps />
