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

# Connecting PRTG to Neo

> Create a PRTG API key, save it in Neo with your server's address, and send PRTG alerts to your PSA in a form Neo matches exactly

You connect PRTG once at the MSP level. One API key covers every probe, group and device its user can see.

## Before you start

* Neo reaches your PRTG web server over the internet. It must answer on **HTTPS** with a certificate from a public certificate authority, at a public address. PRTG Hosted Monitor (`https://<name>.my-prtg.com`) already does.
* If a firewall or reverse proxy limits who can reach PRTG, allow [Neo's addresses](https://docs.neoagent.io/integrations/ip-whitelisting.md) to reach the `/api/` paths.

### If PRTG is only on your internal network

Publish only the API, not the whole web interface. Put a reverse proxy at your network edge that:

* answers on a public name over HTTPS, with a certificate from a public certificate authority;
* forwards only paths that start with `/api/` to your PRTG web server, and refuses every other path;
* accepts connections only from [Neo's addresses](https://docs.neoagent.io/integrations/ip-whitelisting.md);
* passes the `Authorization` header through to PRTG.

Save the proxy's public address in Neo.

## 1. Create the API key

**1. Choose the user**

The key acts with its PRTG user's rights. Use a user whose group can see the probes and groups of the customers Neo should reach.

**2. Add the key**

In PRTG, open **Setup > Account Settings > API Keys** and add a key of type **Scripting**. Pick its **access level** for what your agents do: **Read** to look up sensors and history, **Acknowledge** to also acknowledge alarms, **Write** to pause objects and change settings, **Full** for everything. Copy the key: PRTG shows it once.

> [!WARNING]
>
> If the key is deleted or its user is paused, Neo loses access until you save a new key here.

## 2. Add the key in Neo

**1. Open Integrations**

In the Neo Dashboard, open **Integrations** and find the PRTG card, under Networking.

**2. Save the address and the key**

Enter the address you open the PRTG web interface at, such as `https://prtg.example.com`, and paste the API key. Leave **API v2 Address** empty unless you want agents to use PRTG's API v2: then enter your PRTG application server's address, such as `https://prtg.example.com:1616`. Click **Save settings**. Neo reads the server's status with the key before saving, so a wrong address or key is rejected straight away.

## 3. Send PRTG alerts to your PSA

Neo works PRTG alerts as tickets your PSA opens from PRTG's emails. Point a PRTG notification template at the mailbox your PSA turns into tickets (on Autotask, an Incoming Email Processing mailbox), and add the sensor's ids to the email, so Neo finds the exact sensor:

**1. Edit the notification template**

In PRTG, open **Setup > Account Settings > Notification Templates**, and add or edit the template your alert triggers use. Turn on **Send Email**, and enter your PSA's mailbox under **Send to Email Address**.

**2. Write the email**

Keep the default subject, or use `[%sitename] %device %name %status (%message)`. Set **Format** to **Custom text** and paste:

```text theme={null}
PRTG sensor id: %sensorid
PRTG device id: %deviceid
PRTG group id: %groupid
PRTG probe id: %probeid
Device: %device (%host)
Group: %group
Probe: %probe
Sensor: %name
Status: %status since %since
Message: %message
Last value: %lastvalue
Tags: %tags
Link: %linksensor
```

Add your own lines below it if you like.

**3. Trigger it on Down, Warning and Up**

On the probes, groups or devices you monitor for customers, add **Notification Triggers** that send this template when a sensor is Down or Warning, and again when the condition clears. Neo merges the repeat and Up emails into the sensor's open ticket.

Your PSA files each email under the company its mailbox defaults to. The agent then moves the ticket to the customer the sensor belongs to.

## 4. Tag each customer's probe or group

In PRTG, open the customer's probe or group, then **Settings**, and add the tag `neo-customer-<number>` under **Tags**, where `<number>` is the company's number in your PSA (Autotask: the **Company Number** on the company; ConnectWise: the company **Identifier**) or its PSA company id. Or write `Neo customer: <number>` on a line under **Comments**. Every sensor below inherits the tag.

Then open the PRTG card's **Organization Mapping** tab in Neo. Each customer's probe or group should show its company. Confirm or correct any row there; a probe or group named after the customer can also map by its name. See [PRTG](https://docs.neoagent.io/integrations/prtg/overview.md#how-your-customers-are-found) for how they are matched.

## 5. Turn PRTG on per agent

Open the agent, go to its **Tools & Settings** tab, click **Networking**, and expand the **PRTG** block. Pick one of its **Presets**, or set each area yourself:

| Area | Access levels you can pick | Notes |
| - | - | - |
| **Sensors and Devices** | Disabled, Read Only, Read / Write | Probes, groups, devices, sensors and channels; write is scan now. |
| **Alarms** | Disabled, Read Only, Read / Write | Sensors in an alarm; write acknowledges an alarm. |
| **History and Logs** | Disabled, Read Only, Read / Write | Historic data, the log and an object's change history. |
| **Pause and Resume** | Disabled, Read Only, Read / Write | Pausing and resuming objects. |
| **Configuration** | Disabled, Read Only, Read / Write | Settings, limits, tags, notifications, schedules, clone, move, auto-discovery and delete. |
| **PRTG Tickets** | Disabled, Read Only | PRTG's own tickets. |
| **Reports** | Disabled, Read Only, Read / Write | Reports and their PDFs. |
| **Users and API Keys** | Disabled, Read Only, Read / Write | Users, user groups and API keys (API v2). |
| **Server Status** | Disabled, Read Only, Read / Write | The core server's status, health, version and license. |

| Preset | What runs on its own | What asks a technician |
| - | - | - |
| **Read Only** | Every read | No write is allowed |
| **Helpdesk** | Reads, acknowledging alarms, scan now | Pausing and resuming. Everything else stays read only |
| **IT Admin** | Every read, alarms, pauses, reports | Configuration changes, users and API keys |
| **Full Automation** | Every read and write | Only the writes that always ask |

A few writes always ask a technician, whatever the preset: deleting an object (PRTG deletes everything under it), forcing a sensor into an error on purpose (it sends real notifications), changing or deleting an API key, and storing a credential such as a password or community string. Neo never reads a password, community string or key from PRTG.

## Use it on alert tickets

Give an agent that triggers on new tickets a filter for PRTG's emails (the title starts with your PRTG server's name in brackets, or the sender is PRTG's address), PRTG at the Helpdesk preset, your PSA's ticket permissions, and the Merge Tickets tool. For each alert ticket it finds the sensor, moves the ticket to the sensor's customer, merges a repeat into the sensor's open ticket, and notes what PRTG shows. Your triage agent then sets the priority and queue as usual.

See [PRTG API](https://docs.neoagent.io/agents/tools/networking/prtg-api.md) for what the agent can read and change.


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