# QNXT

**Early Access**: This integration is provided as an Open Authorization API (OAA) connector package. Contact our support team for more information.

## Veza QNXT Connector

Veza connector for QNXT claims processing platform. Discovers QNXT user accounts, roles and activities the roles are entitled to perform.

#### Veza Application Mapping

| QNXT           | OAA Application | Notes                                  |
| -------------- | --------------- | -------------------------------------- |
| Region         | Application     |                                        |
| Environment    | Resource        |                                        |
| User           | Local User      |                                        |
| Role           | Local Role      |                                        |
| Activity       | Permission      |                                        |
| Activity Group | Local Role      | Assigned as child role to holding role |

#### Discovered Properties

| Entity | Property         | Description                                                                |
| ------ | ---------------- | -------------------------------------------------------------------------- |
| User   | `login`          | QNXT login name                                                            |
| User   | `is_active`      | True if date of discovery is between users effective and termination dates |
| User   | `created_at`     | User's effective data                                                      |
| User   | `deactivated_at` | User's termination date if in the past                                     |
| User   | `last_login_at`  | User's last login time                                                     |
| User   | `nt_login`       | Configure Windows NT login for user                                        |

#### Active Directory User Mapping

QNXT stores the Active Directory user associated to an account in the NT login format of `doamin\username`. For identity mapping in Veza the identity should be in `user@domain.com` format. To support this the importer takes in `--ad-domain` parameter to use for domain.

### Setup

#### QNXT

1. Export the following tables from the QNXT database to CSV files with the matching name:

   * `activitygroup`
   * `qactivity`
   * `qenvironment`
   * `qgroup`
   * `qrole`
   * `quser`
   * `roleactivity`
   * `userrole`

   When exporting the Users table the following columns should be exported:

   `'userid', 'loginid', 'effdate', 'termdate', 'lastaccess', 'firstname', 'lastname', 'ntusername'`
2. Place the files in a directory together

#### Veza

1. Generate an API key for your Veza user. API keys can be managed in the Veza interface under Administration -> API Keys. For detailed instructions consult the Veza User Guide.

### Running the Connector

#### Command Line

1. Install the requirements:

   ```shell
   pip3 install -r requirements.txt
   ```
2. Set the Veza API key:

   ```shell
   export VEZA_API_KEY="ZXldTcj...JCWGU3Qlo1OHR3RTBfc00yN3lfSFk="
   ```
3. Run the connector:

   ```shell
   ./veza_qnxt_import.py --veza-url https://<your-org>.vezacloud.com --users <user_export.csv> --entitlements <entitlements_export.csv> --name "Prod"
   ```

#### Parameters

| CLI Parameter | Environment Variable | Description                                                 |
| ------------- | -------------------- | ----------------------------------------------------------- |
| `--veza-url`  | `VEZA_URL`           | URL of Veza system                                          |
|               | `VEZA_API_KEY`       | API key for Veza connection                                 |
| `--region`    | `QNXT_REGION`        | Name for QNXT Region.                                       |
| `--csvs`      | `QNXT_CSV_PATH`      | Path to folder containing table CSV files                   |
| `--ad-domain` | `QNXT_AD_DOMAIN`     | Active directory domain for `user@domain.com` notation      |
| `--create`    |                      | Create new datasource for `region` if doesn't already exist |
| `--debug`     |                      | Enable verbose debug output                                 |
| `--save-json` |                      | Save OAA Payload as local JSON file before upload           |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/integrations/integrations/qnxt.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
