Hudu + IT Glue integration

Hudu and IT Glue are where most MSPs write down what's in their customers' environments. The usual pain is that documentation drifts from reality — someone changes a CA policy, nobody updates the doc, and six months later the runbook is wrong. Manage365's Hudu + IT Glue integration mirrors the live M365 state into your documentation platform on a schedule, so the docs stay honest.

What gets pushed

Per tenant, Manage365 generates a posture snapshot — a structured document with the facts that matter for service delivery:

  • Tenant metadata: primary domain, tenant ID, licence summary, user count, MFA adoption
  • Conditional Access summary: policy count, enabled policies, target users, key gaps
  • Standards status: which standards are applied, any open drift
  • Compliance scores: latest Essential Eight / APRA / CIS M365 results
  • Defender surface: active high-severity incidents, open recommendations
  • Exchange posture: DKIM-enabled domains, configured anti-phish policies
  • Copilot: licences + idle seats, prompt-audit enablement
  • Last sync + last push timestamps

The snapshot is the same shape whether you push to Hudu or IT Glue — the difference is the provider target and formatting (Hudu uses articles, IT Glue uses flexible assets).

Push cadence

Default: nightly at 02:00 AEST per tenant. Override to manual-only or hourly from the integration settings. Manual push is always available via the Push now button on the integration settings page or via API.

Each push replaces the previous article / asset in place (versioned by Hudu / IT Glue automatically), so you always have a current snapshot visible and historical versions behind it.

Configuration — Hudu

Settings → Integrations → Hudu takes three fields:

{
  "baseUrl": "https://it.yourmsp.com",
  "apiKey": "<hudu-api-key>",
  "companyIdByTenantId": {
    "<manage365-tenant-uuid>": 42,
    "<manage365-tenant-uuid>": 57
  }
}
  • baseUrl — the root of your Hudu instance (don't include /api/v1; Manage365 appends that)
  • apiKey — from Hudu Settings → API Keys. Make a fresh one for Manage365 with write scope to articles.
  • companyIdByTenantId — the mapping from Manage365 tenant UUID to Hudu company ID. You fill this in once per tenant you want pushed.

Tenants not in the mapping are skipped. So opting in is explicit, one row per tenant.

Configuration — IT Glue

Settings → Integrations → IT Glue takes three fields:

{
  "apiKey": "<it-glue-api-key>",
  "region": "au",
  "organizationIdByTenantId": {
    "<manage365-tenant-uuid>": 1234567,
    "<manage365-tenant-uuid>": 1234568
  }
}
  • apiKey — from IT Glue Account → API Keys. Requires password permission.
  • region — one of us, eu, au. Controls the API base URL (AU accounts use api.au.itglue.com).
  • organizationIdByTenantId — Manage365 tenant UUID → IT Glue organization ID. Same explicit opt-in model as Hudu.

Test connection

Before the first push, hit Test connection. The endpoint:

  • Validates the API key
  • Confirms the base URL is reachable
  • Lists the first 10 companies / organisations so you can cross-check your ID mapping
  • Reports the rate-limit headers returned by the provider

A test connection call is read-only — it doesn't push anything.

Endpoints

Method + pathWhat it doesPermission
GET /integrations/huduCurrent Hudu config (apiKey masked)INTEGRATIONS_READ
PUT /integrations/huduUpsert Hudu configINTEGRATIONS_MANAGE
POST /integrations/hudu/testTest connectionINTEGRATIONS_READ
POST /integrations/hudu/push/:tenantIdPush snapshot for one tenantINTEGRATIONS_MANAGE
POST /integrations/hudu/push-allPush snapshots for every mapped tenantINTEGRATIONS_MANAGE
GET /integrations/it-glueCurrent IT Glue config (apiKey masked)INTEGRATIONS_READ
PUT /integrations/it-glueUpsert IT Glue configINTEGRATIONS_MANAGE
POST /integrations/it-glue/testTest connectionINTEGRATIONS_READ
POST /integrations/it-glue/push/:tenantIdPush snapshot for one tenantINTEGRATIONS_MANAGE
POST /integrations/it-glue/push-allPush snapshots for every mapped tenantINTEGRATIONS_MANAGE

End-to-end example: Hudu setup

  1. In Hudu, create an API key with write permission. Note the company ID for your first customer (visible in the URL when viewing the company).
  2. In Manage365, go to Settings → Integrations → Hudu. Paste the base URL and API key. Add a row to the tenant mapping for the customer — Manage365 tenant UUID on the left, Hudu company ID on the right.
  3. Click Test connection. The response should list the first 10 companies from Hudu — confirm your mapped company is in there.
  4. Click Push now. A new article titled “Manage365 M365 Posture — <customer>” appears in the customer's Hudu company page within 30 seconds.
  5. Open it in Hudu. Verify the content looks right.
  6. The next nightly run picks it up automatically. Add more tenant mappings over time as you onboard more customers.

Common pitfalls

  • Tenant UUID typo in the mapping — mismatched key is silently skipped (nothing to push for a tenant that doesn't exist). Copy UUIDs directly from the tenant list.
  • Hudu API key too narrow — read-only keys pass the test-connection check but fail the actual push. Issue a write-scope key from Hudu.
  • IT Glue region wrong — US vs AU uses different API hosts. An AU account with region: usfails immediately on test connection with a 401.
  • Rate limiting — IT Glue throttles at 10 requests per second per organisation. The push-all endpoint self-paces inside that budget; manual push of 50 tenants in rapid succession may bounce off 429s. Use push-all instead.
  • Stale article after tenant rename — the article title includes the tenant name at push time. If you rename the Manage365 tenant, the next push updates the body but the old-named article stays. Delete the old article manually in Hudu / IT Glue.

FAQ

Can I push specific sections only? Not yet — the snapshot is all-or-nothing. The use case for pushing “just compliance scores” is the evidence export (see Evidence export) rather than the integration.

Does the customer see what's pushed? Depends on your Hudu / IT Glue permission model. Manage365 doesn't control visibility; it just writes to the target company / organisation per your mapping.

What about custom templates in the snapshot? Not supported today. The snapshot layout is fixed — if you want custom content in the same article, put it in a sibling article in Hudu / IT Glue rather than trying to co-edit the Manage365 one (your edits would be overwritten on next push).

Can both integrations run at once? Yes — configure each independently; they push in parallel.