agentsclimarketplace

Workhuman install auth

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/workhuman-pack/skills/workhuman-install-auth

'Workhuman install auth for employee recognition and rewards API.From its SKILL.md

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill workhuman-install-auth

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

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. 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

3.2 KB, 640 tokens by cl100k_base, as published. Nobody here has run it

Workhuman Install & Auth

Overview

Configure Workhuman API access for Social Recognition, rewards, and HRIS integration. Workhuman uses OAuth 2.0 for API authentication. The API enables programmatic recognition nominations, reward redemption, and employee data sync.

Prerequisites

  • Workhuman enterprise account with API access enabled
  • OAuth client credentials from Workhuman admin portal
  • HTTPS endpoint for redirect URI (if using auth code flow)

Instructions

Step 1: Configure OAuth Credentials

# .env
WORKHUMAN_CLIENT_ID=your-client-id
WORKHUMAN_CLIENT_SECRET=your-client-secret
WORKHUMAN_BASE_URL=https://api.workhuman.com
WORKHUMAN_TENANT_ID=your-tenant-id

Step 2: Obtain Access Token (Client Credentials)

import axios from 'axios';

async function getWorkhmanToken(): Promise<string> {
  const { data } = await axios.post(
    `${process.env.WORKHUMAN_BASE_URL}/oauth/token`,
    new URLSearchParams({
      grant_type: 'client_credentials',
      client_id: process.env.WORKHUMAN_CLIENT_ID!,
      client_secret: process.env.WORKHUMAN_CLIENT_SECRET!,
    }),
    { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } },
  );
  return data.access_token;
}

Step 3: Verify Connection

const token = await getWorkhmanToken();
const api = axios.create({
  baseURL: process.env.WORKHUMAN_BASE_URL,
  headers: { Authorization: `Bearer ${token}` },
});

const { data } = await api.get('/api/v1/users/me');
console.log(`Connected as: ${data.displayName}`);

Step 4: Python Client

import requests, os

class WorkhumanClient:
    def __init__(self):
        self.base = os.environ["WORKHUMAN_BASE_URL"]
        self.token = self._authenticate()

    def _authenticate(self):
        resp = requests.post(f"{self.base}/oauth/token", data={
            "grant_type": "client_credentials",
            "client_id": os.environ["WORKHUMAN_CLIENT_ID"],
            "client_secret": os.environ["WORKHUMAN_CLIENT_SECRET"],
        })
        return resp.json()["access_token"]

    def get(self, endpoint, **params):
        return requests.get(f"{self.base}{endpoint}",
            headers={"Authorization": f"Bearer {self.token}"}, params=params).json()

Error Handling

ErrorCauseSolution
401 UnauthorizedInvalid credentialsCheck client_id/secret
403 ForbiddenInsufficient permissionsContact Workhuman admin
invalid_grantWrong grant typeUse client_credentials

Resources

Next Steps

Proceed to workhuman-hello-world for your first recognition nomination.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. 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.