agentsclimarketplace

Azure active directory

Skill apideck-libraries/api-skills/providers/claude/plugin/skills/azure-active-directory

Microsoft Entra integration via Apideck's HRIS unified API — same methods work across every connector in HRIS, switch by changing `serviceId`. Use when the user wants to read or sync employees, departments, payrolls, and time-off records in Microsoft Entra. Routes through Apideck with serviceId "azure-active-directory".From its SKILL.md

Install
npx -y skills add apideck-libraries/api-skills --skill azure-active-directory

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.2 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Microsoft Entra (via Apideck)

Access Microsoft Entra through Apideck's HRIS unified API — one of 58 HRIS connectors that share the same method surface. Code you write here ports to BambooHR, Workday, Deel and 54 other HRIS connectors by changing a single serviceId string. Apideck handles auth, pagination, rate limiting, and retries so you don't write per-tenant Microsoft Entra plumbing.

Beta connector. Microsoft Entra is currently in beta on Apideck. Expect partial resource coverage and occasional mapping gaps. Always verify coverage (see below) and fall back to the Proxy API for unsupported operations.

Quick facts

When to use this skill

Activate this skill when the user explicitly wants to work with Microsoft Entra — for example, "sync employees in Microsoft Entra" or "list time-off requests in Microsoft Entra". This skill teaches the agent:

  1. Which Apideck unified API covers Microsoft Entra (HRIS)
  2. The correct serviceId to pass on every call (azure-active-directory)
  3. Microsoft Entra-specific auth and coverage caveats

For the full method surface (parameters, pagination, filtering), use your language SDK skill:

For the raw OpenAPI spec:

Minimal example (TypeScript)

import { Apideck } from "@apideck/unify";

const apideck = new Apideck({
  apiKey: process.env.APIDECK_API_KEY,
  appId: process.env.APIDECK_APP_ID,
  consumerId: "your-consumer-id",
});

// List employees in Microsoft Entra
const { data } = await apideck.hris.employees.list({
  serviceId: "azure-active-directory",
});

Portable across 58 HRIS connectors

The Apideck HRIS unified API exposes the same methods for every connector in its catalog. Switching from Microsoft Entra to another HRIS connector is a one-string change — no rewrite, no new SDK.

// Today — Microsoft Entra
await apideck.hris.employees.list({ serviceId: "azure-active-directory" });

// Tomorrow — same code, different connector
await apideck.hris.employees.list({ serviceId: "bamboohr" });
await apideck.hris.employees.list({ serviceId: "workday" });

This is the compounding advantage of using Apideck over integrating Microsoft Entra directly: code against the unified HRIS API once, gain access to every connector in it. New connectors Apideck adds become available to your app without code changes.

Authentication

  • Type: OAuth 2.0
  • Managed by: Apideck Vault — Apideck handles the full OAuth dance (authorization code flow, token exchange, refresh). Never ask the user for API keys or tokens directly.
  • User setup: Users authorize via the Vault modal. Connection state progresses available → added → authorized → callable.
  • Token refresh: automatic. Expired tokens are refreshed transparently on the next API call.

See apideck-best-practices for Vault setup, connection lifecycle, and handling re-auth flows.

Verifying coverage

Not every HRIS operation is supported by every connector. Always verify before assuming a method works:

curl 'https://unify.apideck.com/connector/connectors/azure-active-directory' \
  -H "Authorization: Bearer ${APIDECK_API_KEY}" \
  -H "x-apideck-app-id: ${APIDECK_APP_ID}"

See apideck-connector-coverage for patterns around UnsupportedOperationError and connector-specific fallbacks.

Escape hatch: Proxy API

When an endpoint isn't covered by the HRIS unified API, use Apideck's Proxy to call Microsoft Entra directly — Apideck injects auth headers and handles token refresh. Set x-apideck-downstream-url to the target endpoint on Microsoft Entra's own API:

curl 'https://unify.apideck.com/proxy' \
  -H "Authorization: Bearer ${APIDECK_API_KEY}" \
  -H "x-apideck-app-id: ${APIDECK_APP_ID}" \
  -H "x-apideck-consumer-id: ${CONSUMER_ID}" \
  -H "x-apideck-service-id: azure-active-directory" \
  -H "x-apideck-downstream-url: <target endpoint on Microsoft Entra>" \
  -H "x-apideck-downstream-method: GET"

See Microsoft Entra's API docs for available endpoints.

Sibling connectors

Other HRIS connectors that share this unified API surface (same method signatures, just change serviceId):

bamboohr, workday, deel (beta), hibob, personio, adp-ihcm (beta), adp-workforce-now (beta), paychex (beta), and 49 more.

See also

What ships with it: 1 file

493 B alongside SKILL.md

Gives 0 of the 12 instructions most containers cloud skills give in ~1.5k tokens

Counted across 607 of the 657 authors here whose files we hold, read 2026-08-07

  • Run containers as a non-root userin 66 of 607, across 46 files
  • Use multi-stage buildsin 53 of 607, across 44 files
  • Use Promise.all for independent operationsin 47 of 607, across 13 files
  • Import directly instead of barrel filesin 46 of 607, across 12 files
  • Use ternary instead of AND for conditionalsin 45 of 607, across 12 files
  • Use Set or Map for O(1) lookupsin 42 of 607, across 10 files
  • Create a .dockerignore filein 41 of 607, across 31 files
  • Read individual rule files for detailsin 39 of 607, across 9 files
  • Copy dependency files before source codein 36 of 607, across 23 files
  • Authenticate server actions like API routesin 35 of 607, across 7 files
  • Use next/dynamic for heavy componentsin 34 of 607, across 9 files
  • Use React.cache for per-request deduplicationin 34 of 607, across 10 files

Said here and by no other author read

  • pass the serviceId as azure-active-directory on every call
  • use the HRIS unified API for Microsoft Entra operations
  • verify connector coverage before assuming a method works
  • use the Proxy API for unsupported HRIS operations
  • set x-apideck-downstream-url to the target endpoint when proxying
  • consult the language SDK skill for the method surface

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,861. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.