# Usage guide: Zscaler (VPN) assisted troubleshooting

{% hint style="warning" %}
This page outlines various ways to use the pack, including use case examples.

Administrators can refer to the [Configuration guide](https://docs.nexthink.com/platform/library-packs/l1-support/workflow-zscaler-vpn-assisted-troubleshooting/configuration-guide-zscaler-vpn-assisted-troubleshooting) to set up and customize the installed content.
{% endhint %}

The **Zscaler (VPN) assisted troubleshooting** library pack enables IT teams to:

* Gather information about the Zscaler client status.
* Remediate common issues by resetting the Zscaler connection or prompting user reauthentication.
* Update the ITSM ticket with the progress and results of the troubleshooting process.

## Library pack uses

{% hint style="info" %}
Jump to [Use cases](#use-cases) on this page to see relevant scenario applications.
{% endhint %}

Use the library pack content for the following purposes.

### **Visibility** <a href="#visibility" id="visibility"></a>

This library pack focuses on the **Zscaler (VPN) assisted troubleshooting** [workflow](https://docs.nexthink.com/platform/user-guide/workflows). It gathers information on the local Zscaler status and provides remediation where required.

An ITSM ticket is updated at each step of this process.

### **Workflow triggering** <a href="#workflow-triggering" id="workflow-triggering"></a>

This workflow is intended to be launched on a specific device during a call with an employee or in response to an issue raised by an employee experiencing Zscaler stability issues. This can be achieved using [device view](https://docs.nexthink.com/platform/user-guide/device-view) (as shown below) or from [Amplify](https://docs.nexthink.com/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-non-vdi-environment/configure-amplify). The workflow uses the **Incident number** parameter to track progress.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-3bd6261129c99eb22c4e66437a7ef1bfe61c6236%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

An ITSM ticket should be raised before launching the workflow, as it will be updated during its operation.

**Workflow parameter:** This workflow has one parameter, **Incident number**. This ITSM ticket reference will be used throughout the workflow as information is added. It should be entered manually when the workflow is executed.

## **Predefined workflow structure and steps**

The **Zscaler (VPN) Assisted Troubleshooting** workflow follows a sequence of steps to diagnose and resolve issues efficiently.

1. The workflow begins by verifying whether Zscaler is running on the endpoint using the **"Get Zscaler Status"** remote action. Then, it retrieves the ITSM ticket `sys_id` based on the provided incident ticket number.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-98f5b8a77522ff93cefa13d2110c38804c21dd94%2Fimage%20(389).png?alt=media" alt="" width="414"><figcaption></figcaption></figure>

2. The workflow determines the next steps based on the Zscaler status. If Zscaler is not running, the ITSM ticket is updated, and the workflow concludes. If Zscaler is running, the workflow assesses the status of private and public access services.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-04f7297a86ff0f0051ea681830cce89b5b8194e2%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

3. The workflow evaluates various Zscaler service conditions, including authentication errors, captive mode states, firewall block errors, and captive portal fail-open states.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-4f89f0dbd3b594b05f744a634a0d55b485ec83ac%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

* If the detected errors require user reauthentication, the workflow notifies the user via Microsoft Teams and prompts them to reauthenticate.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-dd66f801b3a77680b292ae57a05a28aeb7262865%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-743704826c74c8899ba5cf68115128c53da29632%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

* If a firewall block or captive down error is detected, the workflow updates the ITSM incident with relevant details.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-aba6f687c0fb02004bb3b2ccbf3662047a3a74eb%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

* If a captive portal failure or other general errors are identified, the workflow attempts to restart the VPN for Windows devices. The user is informed via Microsoft Teams before the restart, and the ITSM ticket is updated accordingly.

5. The process involves disabling and re-enabling the Zscaler adapter, with a cautionary note that VPN traffic will be disrupted while the adapter is disabled. Only the ITSM ticket is updated for macOS devices, and no automatic remediation is performed.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-d0a74685ab0513bd98c6a2090f31f774d362081e%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-d0dd4fd79b62f531e350695d7d821016f4f0d41c%2Fimage.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

***

RELATED TOPICS

* [Manage Workflows](https://docs.nexthink.com/platform/user-guide/workflows/managing-workflows)
* [Manage Remote Actions](https://docs.nexthink.com/platform/user-guide/remote-actions/getting-started-with-remote-actions)
