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

# SonicWall NSM

> Connect SonicWall Network Security Manager to Triggr with a MySonicWall API key for cloud NSM, or an NSM admin login for NSM On-Prem.

Triggr manages the firewalls in Network Security Manager (NSM): tenants, devices, commits, templates, group actions, firmware, backups, licences and VPN topologies. To work on a firewall directly, use [SonicWall](/integrations/sonicwall/sonicos); for Cloud Secure Edge, use [SonicWall CSE](/integrations/sonicwall/cse).

## Set up SonicWall

<Tabs>
  <Tab title="Cloud NSM">
    <Steps>
      <Step title="Generate a MySonicWall API key">
        Sign in to [MySonicWall](https://www.mysonicwall.com/) as the user Triggr should act as, go to **My Workspace | User Groups > User list** and click **Generate My API Key**. Enter a Description, leave Source IP Address blank, set Validity (one year at most) and click Confirm. Copy the key before you close the window.

        If Generate My API Key is missing, raise a Customer Service Request with SonicWall. See SonicWall's [guide to generating a key](https://www.sonicwall.com/support/technical-documentation/docs/msw-api_guide/Content/API_Overview/how-to-generate-api-token.htm).
      </Step>

      <Step title="Find your NSM region">
        Open NSM from MySonicWall and note the host, such as `nsm-uswest.sonicwall.com` or `nsm-eucentral.sonicwall.com`.
      </Step>
    </Steps>
  </Tab>

  <Tab title="NSM On-Prem">
    <Steps>
      <Step title="Prepare an admin account">
        Create an NSM admin account for Triggr with access to the tenants it needs, with two-factor authentication off.
      </Step>

      <Step title="Make NSM reachable">
        Give NSM a public IP address or hostname, forward HTTPS to it, install a certificate from a public certificate authority that matches the hostname, and allow [Triggr's IP addresses](/security/ip-allowlist) through any firewall.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Connect it in Triggr

<Steps>
  <Step title="Open the configuration">
    Go to **Integrations > SonicWall NSM** 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 endpoint and sign-in">
    Enter the NSM Endpoint URL with `https://` and no path: your region's host, such as `https://nsm-uswest.sonicwall.com`, or your NSM server's public address with its port if it isn't 443. For cloud NSM, enter the MySonicWall API Key and leave the rest blank; for NSM On-Prem, enter NSM Admin Username and NSM Admin Password instead. Click Save Configuration.

    <Frame>
      <img src="https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/sonicwall-nsm/configure.png?fit=max&auto=format&n=nyuVXZ1rouDTTEvu&q=85&s=0baac81c68871707c2cf3970ea361dc9" alt="The SonicWall NSM configuration window with NSM Endpoint URL, MySonicWall API Key, MySonicWall API URL (optional), NSM Admin Password, Tenant (optional), NSM Tenant ID (optional), NSM Tenant Serial (optional) and NSM Admin Username fields, an Allow insecure TLS switch under Advanced, and a Save Configuration button." width="1344" height="2654" data-path="images/sonicwall-nsm/configure.png" />
    </Frame>
  </Step>
</Steps>

If MySonicWall API Key has a value, Triggr uses it and ignores the username and password.

## Set up each client

Per-client integrations never fall back to the Base Configuration, so click **Configure** on each client's row and fill in a complete configuration. With cloud NSM, use the same key and NSM Endpoint URL for every client and set NSM Tenant ID (optional) to the client's tenant: run Get Cloud Tenants (MySonicWall) to list the tenants the key reaches, each one's `productGroupID` being its tenant ID.

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

NSM holds changes as pending until they're committed: Create Commit commits and deploys, and Create Commit with Approval waits for Approve Commit. Most firewall actions take the firewall's serial number from List Devices for Tenant.

## Troubleshooting

<AccordionGroup>
  <Accordion title="configure a MySonicWall API key (mswApiKey), or a username and password">
    The configuration the workflow used has neither a MySonicWall API Key nor both NSM Admin Username and NSM Admin Password. If the workflow ran for a client, check that client's configuration.
  </Accordion>

  <Accordion title="multiple NSM tenants for this MySonicWall key">
    Enter the right tenant's ID, from the list in the error, in NSM Tenant ID (optional).
  </Accordion>

  <Accordion title="no matching NSM tenant for this MySonicWall key">
    The NSM Tenant ID (optional) or NSM Tenant Serial (optional) isn't one the key reaches. Check it against Get Cloud Tenants (MySonicWall) and the MySonicWall user's tenant access.
  </Accordion>

  <Accordion title="… has no NSM tenant serial">
    NSM isn't active on that MySonicWall tenant. Check in MySonicWall that the tenant has NSM and its firewalls are managed through it.
  </Accordion>

  <Accordion title="no SonicWall NSM integration is configured for this client">
    Configure the client on the Per-Client Configuration card.
  </Accordion>

  <Accordion title="401 or 403 from MySonicWall">
    Check the key was pasted in full and hasn't expired or been revoked. If the error mentions `IPBLOCKED`, generate a key with Source IP Address blank, or ask SonicWall Support to allow [Triggr's IP addresses](/security/ip-allowlist).
  </Accordion>

  <Accordion title="SonicWall rejected the request">
    NSM refused the sign-in. With cloud NSM, check NSM Endpoint URL is your tenant's region and the MySonicWall user has access to the tenant in NSM.
  </Accordion>

  <Accordion title="NSM On-Prem sign-in fails">
    Check the username and password, that two-factor authentication is off, that NSM Endpoint URL is the public address with its port, and that NSM's certificate matches the hostname.
  </Accordion>
</AccordionGroup>


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