Skip to main content
This needs CSP enrollment and active GDAP relationships. Once a tenant is connected, Neo works in it through its own app, with app-only access, the same as with Direct Consent.

What it takes

A few clicks in Integrations → GDAP: sign in, have a Global Administrator approve Neo, and click Connect all eligible. The run continues in the background, and you do not need to stay on the page. A company is eligible once it is mapped to a tenant that Neo can reach through CSP, and your account’s group has Privileged Role Administrator (or an alternative the role table lists) on that relationship. A client you add later gets a Connect via GDAP button on its row once it is eligible. Your relationships need a role for each of the two jobs in Roles your relationships need, assigned to the group of the account you sign in with.

Connecting customer tenants via GDAP

The Integrations → GDAP page shows these steps as a checklist.
1

Connect GDAP

Click Connect and sign in with your Secure App Model service account. Check Consent on behalf of your organization, which needs a Global Administrator. If the account you use is not one, see Connect GDAP returns to Neo and nothing changes.
2

Grant the Partner Center permission

Connecting GDAP consents Microsoft Graph only, so a Global Administrator approves one more permission. Use Copy consent link, have a Global Administrator approve, then click I’ve granted it — recheck. This lets Neo see which of your clients it can reach through GDAP. If step 1 already used the consent link, this step is done.
3

Check the default permissions

Neo starts with a default set of permission categories for each tenant. Change them here if you want, or per company later.
4

Connect your clients

Click Find tenants from GDAP. Neo matches your PSA companies to the customer tenants in your relationships, and you apply the matches. Then click Connect all eligible. Progress shows in the provisioning-run panel, and each connected company shows “via GDAP” under M365 Access.For a company Neo could not match, click Map GDAP tenant on its row on the Companies page and pick the tenant. Once the tenant is mapped and Neo can reach the client through CSP, its Connect via GDAP button appears.
If several PSA companies map to the same Microsoft tenant, connecting one connects them all, because Neo’s access belongs to the tenant. A client that owns two Microsoft tenants needs one company per tenant: see Customers with more than one Microsoft tenant.

Roles your relationships need

Neo acts in each customer tenant through its own app, with the Microsoft Graph permissions in your M365 permission profile. It uses relationship roles only to set that app up. Each relationship needs a role for each of these two jobs: Neo assigns Exchange Administrator to its own app, because app-only Exchange access needs it, unless you turn off Auto-assign Exchange Administrator role on consent for the company. Your account’s group does not need that role. Global Administrator covers both jobs, but a relationship with it cannot auto-extend (see the suggested role set below). The account you sign in with must be in a security group that has a role for both jobs on each relationship. A role on the relationship is not enough if your group’s access assignment does not include it. This is the most common reason a client will not connect. The checklist flags a company whose group lacks Privileged Role Administrator (or an alternative) or has no access assignment there. It does not check Application Administrator (or an alternative): without one, the client fails only when Neo connects it, with the 403 Forbidden above. Fix the access assignment in Microsoft Lighthouse or Partner Center. For Lighthouse-managed relationships (LHSetup, MLT_), do not edit them in Entra, because Lighthouse reverts manual changes.
A GDAP relationship cannot be edited after you create it, so include every role you may need. Beyond Application Administrator and Privileged Role Administrator, these cover the work MSPs most often give Neo:Leave Global Administrator out. A relationship with it cannot auto-extend, so it expires and takes your access with it.Extra roles do not widen Neo’s access by themselves: Neo’s app can do only what your permission profile grants.

A company connected by direct consent can move to GDAP at any time. Neo keeps its access throughout, and no client admin consents again. On the Companies page, open ⋯ → Move to GDAP on the company’s row, or use Move to GDAP (N) in the banner to move all eligible companies. Progress shows in the provisioning-run panel, and M365 Access then shows “via GDAP”. After the move, the company’s permissions come from your GDAP permissions selection.
Do not remove Neo’s app in the customer tenant first. That revokes Neo’s access and changes nothing in the Dashboard.

Disconnecting a company

On End Companies, select the company and click Disconnect. Neo removes the Neo Azure Automations app from the customer tenant. Every other company on the same tenant loses access too. Disconnecting needs an active GDAP relationship. If it has lapsed, reconnect GDAP first, or have an admin remove the Neo Azure Automations app in the tenant.

Disconnecting GDAP entirely

In Integrations → GDAP, click Disconnect GDAP. Neo stops using your relationships, for example before you switch the connected account.
This does not remove Neo from tenants you already connected. To do that, disconnect each company before you disconnect GDAP. If you already disconnected GDAP, reconnect it and then disconnect each company, or have an admin remove the Neo Azure Automations app in each tenant.

When a GDAP relationship lapses

A relationship lasts at most 730 days. When it lapses, connected tenants keep working, but you cannot connect new clients or add permissions. Create a new relationship in Partner Center with the same roles, then reconnect GDAP in the Neo Dashboard. To remove Neo from a tenant, disconnect the company while a relationship is still active.
The choice is not permanent: see Moving a direct-consent company to GDAP.

Troubleshooting

Microsoft returns you to Neo with no consent screen, and the checklist shows A Global Administrator must approve Neo. No Global Administrator has approved Neo yet, or a recent approval has not taken effect. Signing in again gives the same result.
  1. In the checklist, click Copy consent link.
  2. Send it to a Global Administrator of your partner tenant. They open it and approve.
  3. Click I’ve granted it — recheck. If they just approved, wait a minute first.
  4. When the checklist shows Reconnect to finish, click Reconnect GDAP.
A Global Administrator can also approve in the Microsoft Entra admin center: Enterprise applications → Neo Agent - GDAP → Permissions → Grant admin consent.
  • “Microsoft is rate-limiting Neo’s requests”: Microsoft throttles reads of your partner relationships when you have many customer tenants. Your connection is fine and no mapping is lost. Wait a few seconds and read the list again.
  • “Temporarily unavailable”: a temporary failure. No mapping is lost. Wait a moment and read the list again.
  • To read the list again, click Try again in the Find tenants from GDAP window. The per-company Map a GDAP tenant dialog has no such button: close it and open it again.
  • “Couldn’t load tenant matches”: reconnect GDAP, then reopen the window.