Key facts
| Endpoint | POST https://api.plugsky.com/v1/chat/completions with tools and streaming (live) |
| Compatibility | Same request shape as OpenAI; change base_url and model names |
| Function calling | Live for lookups, CRM updates and escalation triggers |
| Models | 30+ models; triage on plugsky-micro or plugsky-lite, escalate hard cases |
| Governance | Scoped keys, RBAC and audit logs for every agent action |
| Pricing | Flat monthly self-serve plans with no per-token charges on self-serve |
| Free tier | plugsky-micro and plugsky-lite on the free plan, no card required |
| Roadmap | The moderation endpoint is coming soon; apply your own filters today |
TL;DR
- Your support agent is a chat completions loop plus your own state.
- Keep the OpenAI SDK; change the base URL and model aliases.
- Stream replies and cancel upstream work when the user disconnects.
- Expose narrow tools with server-side permission checks.
- Replay recorded conversations before every rollout.
How it works, step by step
- Change the base URL in your existing client and confirm a tool-enabled chat request returns the familiar shape.
- Move system prompts, tool schemas and model aliases into versioned configuration.
- Add a session store keyed by conversation id with customer id, entitlement state and a rolling summary.
- Implement the tool loop with argument validation, permission checks and idempotent write operations.
- Stream replies to the client and propagate disconnects so abandoned turns stop consuming capacity.
- Define escalation triggers and hand off with a transcript summary.
- Run a regression suite of recorded conversations before changing prompts, tools or aliases.
Try it yourself
Open the function calling tester →
A drop-in endpoint for agentic support
Support agents rarely need exotic APIs. They need a reliable chat completion with tool schemas and streaming, plus state kept outside the model. That is exactly the surface the OpenAI-compatible endpoint provides, which means an agent already running against OpenAI can run against Plugsky by changing the base URL and model names — no rewrite of the loop, no new SDK, no changes to your test harness.
Keep the agent's configuration in your repository: system prompt, tool definitions, model alias per intent and escalation thresholds. Treat prompts and schemas as code so every change is reviewed and canary-released rather than edited in a vendor console.
State, streaming and tools in practice
The model is stateless, so your service owns the conversation: messages, verified identity, entitlement snapshot, tool results and a summary of older turns. Trim history by token budget with system prompt and recent turns first. Stream replies over server-sent events and forward deltas as they arrive; long waits read as failures even when the model is working.
- Check permissions server-side for every tool call, never from the model's reasoning.
- Make write tools idempotent with an operation key so retries cannot duplicate actions.
- Cap tool calls per turn and total steps per conversation to contain runaway loops.
- Return compact tool results to keep context lean and cheaper to process.
Safety, evaluation and rollout
Support touches refunds, billing and account security, so guardrails belong in your code. Validate tool arguments, restrict write operations to allow-listed accounts, and log every action with the conversation id. Prompt-injection attempts should be tracked as safety events with a zero-tolerance target, and the moderation endpoint is not live yet — apply your own filters on input and output today.
Evaluate with recorded conversations: resolution, tool accuracy, escalation appropriateness and tone. Because compatibility runs both ways, you can shadow traffic to Plugsky while OpenAI serves users, compare outcomes, then cut over. The free plan with plugsky-micro and plugsky-lite is enough to build and test the loop, and the 14-day full-access trial covers stronger tiers on real tickets.
Honest comparison
| Capability | Support agent on Plugsky | Vendor support-bot product | Custom model hosting |
|---|---|---|---|
| Integration | OpenAI-compatible chat completions call | Platform SDK and console | Serve models yourself |
| Streaming | SSE on chat completions | Platform-managed | Depends on your server |
| Tools | Function calling on supported models | Platform-defined actions | Build your own loop |
| Model choice | 30+ models behind one endpoint | Vendor catalogue | Only models you can host |
| Deployment | Cloud, VPC, on-prem, air-gapped | Vendor cloud | Your infrastructure |
Frequently asked questions
Do I need a new SDK for support agents on Plugsky?
No. The endpoint is OpenAI-compatible, so you keep your client library, streaming code, retries and tests. Change the base URL and map model names to Plugsky tiers.
Can the agent take account actions?
Yes, through function tools with server-side permission checks and idempotent write operations. Never let the model decide entitlements or limits from free text.
Where should conversation state live?
In your own store. The model is stateless, so your service owns history, summaries, verified identity and retention rules.
How do I keep long support conversations affordable?
Trim by token budget, summarize older turns with a cheap tier, and send compact tool results. Self-serve plans are flat monthly with no per-token charges.
Is there a moderation endpoint?
Not yet — it is coming soon. Apply your own input and output filters in the meantime, and track unsafe generations as safety events.
How do I migrate safely?
Shadow production traffic to Plugsky while your current provider serves users, compare resolution and tool accuracy on recorded conversations, then cut over. Reverting is the same one-line base URL change.
Can I prototype for free?
Yes. plugsky-micro and plugsky-lite are available on the free plan with no card, and a 14-day full-access trial unlocks stronger models for evaluation.
How do I handle a model outage?
Keep a fallback alias in configuration, add retries with jitter around transient errors, and queue non-urgent tool operations rather than dropping the conversation.