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

# D&H

> Connect D&H Cloud Marketplace so agents can read subscriptions and prices, add or remove licence seats, and order a product a client does not hold yet

Neo signs in to D\&H with an API user and your MSP account ID. With it connected, an agent can:

* Read companies, portal users, subscriptions, invoices and reports
* Look up the products a client can buy, the fields an order needs, and your prices
* Order a product a client does not hold yet, after a technician approves it
* Add or remove seats on an existing subscription with [Change License Seats](/agents/tools/m365/change-license-seats)

## Connect D\&H

<Steps>
  <Step title="Create an API user">
    In the D\&H Cloud Marketplace, create a user for Neo with access to your clients and their subscriptions.
  </Step>

  <Step title="Find your account ID">
    Open your MSP company in the D\&H portal. The account ID is the number in the URL, for example `54632` in `https://cp.dandhcloudsolutions.com/#/Account/View/54632/Overview`. It is not the **NumericId** the portal shows.
  </Step>

  <Step title="Save it in Neo">
    Open [**Integrations**](https://dashboard.neoagent.io/integrations?open=d_and_h), select **D\&H**, enter the username, password and account ID, and click **Save**.
  </Step>

  <Step title="Map each company">
    On the [Companies](https://dashboard.neoagent.io/end-companies) page, open a company and add its D\&H account ID under **Marketplace Company IDs**. Find it in the URL of the company's page in the D\&H portal. Agents use this ID for orders and cancellations, and each approval request names the D\&H company.
  </Step>
</Steps>

## What agents can do

Agents call D\&H through the [Vendor API](/agents/tools/vendor-api) tool, which is added when you give the agent D\&H permissions in its settings. Each permission group has its own access level:

| Permission group | What it covers |
| - | - |
| **Companies** | D\&H companies and their departments, creating or updating one, and your own reseller record (read) |
| **Portal Users** | Users of the D\&H portal and their security roles |
| **Products & Pricing** | Products a client can buy, the fields an order needs, prices and marketplaces (read-only) |
| **Subscriptions** | Subscriptions with their fields and add-ons, provisioning retries, product actions and cancellation |
| **Orders** | New subscriptions, product upgrades, and orders D\&H holds for a credit check |
| **Invoices & Reports** | Invoices, reports and credit limits (read-only) |

The access profiles are **Read Only**, **Helpdesk** (every change asks a technician first) and **IT Admin** (no approval, except the changes below). You can set approval per permission group.

## Changes that always ask a technician

These ask a technician for approval in every profile:

* A new order, a product upgrade, and approving an order D\&H holds for a credit check. D\&H bills you for each.
* Accepting a product's terms and conditions for a client.
* Cancelling an account. In D\&H this can end a subscription, a user or a whole company, so the request names which.
* A product action, because each product defines its own.

Neo does not change your marketplaces, prices, special deals, credit limits or renewal settings; make those changes in the D\&H portal.

## Buying a product a client does not hold

1. The agent finds the product, the fields D\&H needs for the order (such as the quantity and the billing term), and your price.
2. It sends the order to D\&H as a validation only, which buys nothing, and fixes any value D\&H rejects.
3. It asks a technician to approve the order. The request names the product, the quantity, the billing and commitment term, the price and every field it will send.
4. After approval, it places the order with exactly those values.
5. For a Microsoft product, once the new subscription is provisioned and the licence shows in the client's Microsoft 365 tenant, the agent assigns it if it has the M365 Licensing permission; otherwise it uses your licensing tool, such as CIPP, or hands the step to a technician.

## Seat changes

To add or remove seats on a subscription the client already holds, the agent uses [Change License Seats](/agents/tools/m365/change-license-seats). The Vendor API tool refuses a subscription update that sets the seat count, so a seat change made at the same time cannot overwrite it. Change a billing term or a renewal setting in the D\&H portal.

## Secrets in responses

When a product's subscription fields hold a password, a token or a key, Neo replaces the value before the agent sees it.


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