Key facts
| API compatibility | Drop-in /v1/chat/completions with streaming, JSON mode and function calling (live) |
| Structured output | JSON mode for case summaries, ticket triage and draft replies |
| Models | 30+ models behind one API, route routine and sensitive work separately |
| Migration | Base URL and model-name change; SDK stays the same |
| Pricing | Flat monthly plans with unlimited fair-use usage on self-serve |
| Controls | Scoped API keys, RBAC and SSO/SCIM for HR system identity |
| Deployment | Region-locked planes, VPC, on-prem and air-gapped options |
| Free tier | plugsky-micro and plugsky-lite on the free plan, no card required |
TL;DR
- Keep the OpenAI SDK; change the base URL and model names to move HR workloads.
- Use JSON mode to return structured case summaries your HRIS can store.
- Never automate employment decisions — draft, classify and route, then let people decide.
- Scope keys per HR system so a policy assistant cannot read employee records.
- Validate prompts on historical tickets before switching live traffic.
How it works, step by step
- Move the model client into one module so base URL, key and model names come from configuration.
- Define JSON schemas for each HR output — case summary, category, urgency, suggested reply — and test against historical tickets.
- Set the client to the Plugsky base URL with a scoped key, and map your model names to Plugsky models for routine and sensitive tasks.
- Run a shadow evaluation over a closed ticket batch and compare classifications and summaries with the human outcome.
- Switch the assistant live for a pilot group, keeping the old provider path behind a configuration flag.
- Review retention and key scope with HR and security, and add a human escalation path inside the chat interface.
- Track deflection, edit rate on drafts and escalation accuracy, and tune prompts before widening access.
Try it yourself
Open the system prompt generator →
What swaps when you move an HR assistant
HR tooling tends to be conservative, and OpenAI compatibility suits that: the client library, request shape and response parsing stay the same, so approval processes focus on behaviour rather than architecture. You change the base URL, map model names, and keep every surrounding control — logging, PII scrubbing, escalation — exactly where it was.
Chat completions, streaming, JSON mode and function calling are all live. Roadmap items such as files, batch and assistants-style endpoints are coming soon, so keep bulk document import and job scheduling in your own systems and use the live endpoint for the conversational work.
Structured outputs for casework
The most useful HR upgrade is not conversational polish but structure. A JSON-mode schema can turn a messy ticket into a record your systems can act on: category, urgency, policy references, a neutral summary and a suggested reply. That record is reviewable, reportable and easy to route.
- Schema discipline: version schemas, validate responses, and reject rather than repair malformed output.
- Neutral language: instruct summaries to stay factual and avoid speculation about intent or performance.
- Confidence signals: ask the model to mark uncertainty so low-confidence items route to a human first.
- No decisions: classification may sort a queue, but rejection, discipline and selection remain human decisions.
Privacy, keys and rollout
An HR assistant should not require employee records to be useful. Retrieve policy text for answers, pass only the fields a task needs, and keep the HRIS as the system of record. Scope each key to one function — policy Q&A, triage, drafting — so a compromise cannot read the whole people directory.
Residency matters when prompts carry case details: pin the workspace to a region-locked plane or deploy to VPC, on-prem or air-gapped. Roll out incrementally. Run a shadow period, then a pilot group, and compare deflection, edit rate and escalation accuracy against the human baseline. Because the API is OpenAI-compatible and the base URL lives in configuration, rollback is a deploy rather than a rewrite.
Honest comparison
| Aspect | Plugsky | Staying on OpenAI | Self-hosted models |
|---|---|---|---|
| Client change | Base URL and model names only | None | New runtime and tuning |
| Structured output | JSON mode live for case records | Available | Constraints built by you |
| Tool use | Function calling live for HRIS lookups | Available | Self-managed serving |
| Pricing | Flat monthly with unlimited fair use on self-serve | Per-token | GPU and operations cost |
| Residency | Region choice, VPC, on-prem, air-gapped | Limited options | Wherever you deploy |
Frequently asked questions
Do our HR prompts need to change?
Test them, but usually only lightly. Behaviour differs between providers, so rerun your prompt suite on real historical tickets and adjust instructions where classification or tone drifts.
Is JSON mode suitable for HRIS records?
It returns valid JSON, and you should still validate every field against a versioned schema. Reject malformed output instead of auto-repairing it, so bad records never reach the HRIS.
Can the assistant make employment decisions?
No. It may summarise, classify and draft; decisions about hiring, discipline or termination stay with people. Automating them also attracts high-risk obligations under rules such as the EU AI Act.
How do we keep employee data safe?
Send the minimum fields per task, scope keys per function, avoid personal data in prompts unless required, and pin deployment to a region that satisfies policy.
What about bulk document processing?
Files and batch endpoints are coming soon. For now, process bulk documents in your pipeline and call the live chat and embeddings endpoints per item.
How do we trial this cheaply?
Start on the free plan with plugsky-micro and plugsky-lite and no card, evaluate on real tickets, then move to a paid plan or the 14-day full-access trial as volume grows.
Is migration reversible?
Yes. Keep the provider in configuration; switching back is the same base URL change in reverse with no code edits.