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

# DNSFilter

> Connect DNSFilter to Triggr with the API key of a dedicated DNSFilter user and map your clients to organisations.

Triggr works with DNSFilter organisations and their users, networks, policies, roaming clients and reports.

## Set up DNSFilter

<Steps>
  <Step title="Add a dedicated user for Triggr">
    In the DNSFilter MSP dashboard, go to MSP > Users and select Add User. Leave Organization Access Restrictions blank so Triggr can reach every organisation, then accept the invitation DNSFilter emails from `@netalerts.io`. If your MSP account uses single sign-on, add the user through your SSO configuration instead.

    | Workflows will | Role |
    | - | - |
    | Map clients and manage policies, networks, roaming clients, users and reports | MSP Organization Admin |
    | Also delete organisations | MSP Organization Super Admin |
  </Step>

  <Step title="Create an API key as that user">
    Signed in as the Triggr user, go to **Account Settings > Security > API Keys** and select + Create Key. Enter a Name and Expiration, select Generate Key, copy the key, then select Save. DNSFilter shows the key only once, and doesn't warn you before it expires.
  </Step>
</Steps>

See DNSFilter's [API Keys](https://help.dnsfilter.com/hc/en-us/articles/21169189058323-API-Keys) and [user permissions](https://help.dnsfilter.com/hc/en-us/articles/1500008108462-Manage-DNSFilter-account-user-permissions) guides.

## Connect it in Triggr

<Steps>
  <Step title="Open the integration">
    Go to **Integrations > DNSFilter** 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="Paste the key">
    Paste the key (it starts with `eyJ`) into ApiKey, with nothing such as `Bearer` in front, then click **Save Configuration**.

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

## Map your clients

On the Client Mapping card, click **Apply 100% Matches**, then choose the DNSFilter organisation in Mapped to for anyone left. Triggr saves each match as the client's `organizationId` variable, so pass `{{ ctx.client.organizationId }}` to any action that asks for an organisation ID.

<Frame caption="The Client Mapping card, shown here for ConnectWise Manage as an example.">
  <img src="https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/integrations-common/client-mapping.png?fit=max&auto=format&n=nyuVXZ1rouDTTEvu&q=85&s=da797e78dc917005df8e55c6b6cb166b" alt="The Client Mapping card with All, Mapped and Unmapped filters, Acme Corp mapped to Acme Corp with a 75% suggested mapping, and Globex unmapped with a Select ConnectWise Manage clients dropdown." width="2272" height="702" data-path="images/integrations-common/client-mapping.png" />
</Frame>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Every action fails as unauthorized">
    The key has expired or been revoked, or ApiKey has spaces or `Bearer` in it. As the Triggr user, check the key's Status under API Keys.
  </Accordion>

  <Accordion title="Replace the API key">
    Keys can't be extended. As the Triggr user, create a new key, paste it in via Edit on the Base Configuration card, then revoke the old key. Only the user who created a key can revoke it.
  </Accordion>

  <Accordion title="Changes or some organisations fail">
    The Triggr user's role doesn't allow the change, or it has Organization Access Restrictions. Fix both in MSP > Users, then click Refresh on Client Mapping.
  </Accordion>

  <Accordion title="A new key can't be created">
    Each user can have five active keys. Revoke or delete keys the Triggr user no longer needs, then try again.
  </Accordion>

  <Accordion title="Rate limited (429)">
    DNSFilter allows 2,000 requests per 300 seconds per organisation, including dashboard use. Run large bulk workflows in smaller batches.
  </Accordion>
</AccordionGroup>


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