For developers
Connect your app with one install
One SDK, one init() call and one user identity feed every tool. Write it yourself, or let your AI coding assistant write it through our MCP server.
MCP server
Let your AI coding assistant do the integration
Add one MCP server to Claude Code, Codex, Cursor, Gemini CLI or any MCP client. It installs the SDK, writes the identify() call, builds and checks content, and you write no setup code yourself.
claude mcp add --transport http justonecx https://api.justonecx.com/mcpRun /mcp, pick justonecx and sign in. Your browser opens: pick the workspace and how much it may do. No token goes in the file.
Server URL: https://api.justonecx.com/mcp · Full MCP guide
Then ask it to
- Install the SDK in your framework and wire identify() after login
- Build tours from your code and check every selector before you preview
- Draft announcements and What's new entries from a diff or pull request
- Create surveys with the right trigger and read the responses
- Work the chat inbox, customers, ideas and roadmap
- Read analytics, build funnels and check the Event log
- Change theme, Brand Kit and widget settings
- Find out why something doesn't show, and fix it
Drafts first
Everything it builds stays a draft until a person publishes it.
Your rules
It can never do more than your own role, and an owner can switch it off.
Asks before it acts
Replies to customers, emails to voters and live settings need a clear yes.
On the record
Every change shows in your audit log as made by the AI assistant.
Your secret key stays on your server
The assistant never reads, returns or asks for it. You set
JUSTONECX_SECRET_KEYin your own server environment.
How it works
Five tools out. One install in.
Every tool reads and writes through the same SDK, the same visitor identity and the same analytics. Watch what one install replaces.
- Tours & OnboardingAppcues, Userpilot$600/mo
- Live ChatIntercom$800/mo
- Surveys (NPS/CSAT)Delighted, Wootric$450/mo
- Feedback + RoadmapCanny$400/mo
- Product AnalyticsMixpanel, PostHog$500/mo
npm i @justonecx/sdk
added 1 package in 2s
import { init, identify, group, track } from "@justonecx/sdk";
await init({ publicKey: "YOUR_PUBLIC_KEY" });
// ✓ all 6 modules live from one install
identify("user_42", { plan: "growth" });
// ✓ one customer, shared by every module
group("acme_inc", { seats: 25 });
track("report_exported");
// ✓ ready for funnels, segments, and targeting- 1
Install one SDK
Add the SDK with your workspace's public key. No framework required.
- 2
Build in the dashboard
Create tours, announcements, surveys and feature boards visually, targeted by user group or event.
- 3
Measure in one place
Activation, adoption, retention, NPS and support load, all keyed to the same user.
Developers
Four calls. Every tool.
No per-tool tracking plan. Pick a call and run it to see which tools it feeds.
await init({ publicKey: "YOUR_PUBLIC_KEY" });→ loads this visitor's published content
✓ 6 of 6 modules updated from one call
init() feeds:
- ToursPublished tours ready to show
- AnnouncementsScheduled announcements queued
- SurveysSurveys armed with their triggers
- Feature requestsIn-app feedback prompts ready
- ChatChat launcher mounted
- AnalyticsAnonymous visitor ID created
Browser calls use your public key. Server calls use your secret key and never touch the page.
FAQ
Developer questions
What does “one SDK” mean in practice?
You install one package and call init() once. Tours, announcements, surveys, feature requests, chat and analytics all run through that install and share the same visitor identity from identify() and group().
Why does a shared identity matter?
Every tool writes to the same user record. A funnel can mix a tour step, an announcements view and your own events. Chat agents see what a user has already seen before they reply.
Do I need a specific framework?
No. The SDK is plain JavaScript and works on any site or web app, with or without a framework.
Can my AI coding assistant do the integration?
Yes. Add the hosted MCP server (https://api.justonecx.com/mcp) to Claude Code, Codex, Cursor, Gemini CLI or any MCP client and sign in through the browser. It installs the SDK, wires identify(), builds and validates tours from your code, and checks the Event log. It works as you, within your role, drafts only by default, and never sees your secret key.
Can I send events from my backend?
Yes. Besides the browser SDK, you can send events server-side, so product and billing events end up on the same user record.