Documentation Index
Fetch the complete documentation index at: https://docs.inploi.com/llms.txt
Use this file to discover all available pages before exploring further.
Kin Plugin
Kin is an AI-powered chat assistant that helps candidates find jobs, answer questions, and navigate your career site.Installation
- npm
- pnpm
- CDN
Basic usage
- Package
- CDN
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
agentName | string | No | Customer-facing display name for the agent. Defaults to "Agent". Max 32 characters — longer values are silently truncated with a console warning. |
appearance | KinAppearance | No | Visual styling, layout & stacking options |
starterPrompts | StarterPrompt[] | No | Suggested prompts shown in empty state |
container | HTMLElement | string | No | Container element or CSS selector for embedded placement |
serviceUrl | string | No | Override the agents service URL. Defaults to production (wss://agents.inploi.com) or sandbox based on env |
The publishable key is automatically inherited from the SDK initialisation — you don’t need to pass it again.
Agent name
agentName controls the display name shown to candidates. It appears in the chat header, the iframe accessibility label, message author labels, and the empty-state greeting. If you omit it, the agent is shown as “Agent”.
Appearance
All visual and layout options are grouped underappearance:
| Option | Type | Default | Description |
|---|---|---|---|
accentColor | string | '#FF4D00' | Primary brand color (hex) |
neutralColor | string | '#555555' | Neutral tone color (hex) |
mode | 'light' | 'dark' | 'light' | Color scheme |
rounded | 'sm' | 'md' | 'lg' | 'lg' | Border radius preset |
placement | string | object | 'center' | Widget position. Pass a string ('left', 'center', 'right', 'embedded') for both breakpoints, or { desktop, mobile } for independent positioning (see below) |
launcher | object | { desktop: 'input', mobile: 'icon' } | Launcher style per breakpoint: { desktop: 'input' | 'icon', mobile: 'input' | 'icon' } |
zIndex | number | 2147483647 | CSS stacking order of the widget |
logo | string | null | Kin logo | URL for a custom launcher icon. Pass null to use the default |
Placement
Pass a single string to use the same position on all devices, or an object for independent desktop/mobile positioning:'left', 'center', 'right'. Use 'embedded' together with the container parameter to render the widget inline in a specific element instead of as a floating overlay.
Launcher
Controls whether the trigger displays as an input bar or a circular icon. By default, desktop shows the input bar and mobile shows the icon.(hover: none) and (pointer: coarse) — devices without a precise pointer (phones, tablets) use the mobile setting.
Starter prompts
API
prepare()
Preloads the UI and establishes a connection. Call this early for the best user experience.
open()
Opens the chat panel.
close()
Closes the chat panel.
toggle()
Toggles the chat panel open/closed.
setAppearance(options)
Updates visual properties at runtime. Accepts any combination of accentColor, neutralColor, mode, and rounded. Omitted fields keep their current values.
Layout options (
placement, launcher, zIndex, logo) cannot be changed at runtime — call destroy() and re-create the plugin to change them.destroy()
Removes the widget and cleans up resources.
Full configuration reference
WordPress installation
WordPress sites that use a Content Security Policy (CSP) with nonces require additional setup. This is common on enterprise WordPress installations.CSP nonce setup
If your WordPress site sets aContent-Security-Policy header with a nonce- value, you need to:
- Add
https://sdk.inploi.comto your CSP directives. In your theme’sfunctions.php, ensure your CSP header includes:
- Add the nonce to the inline init script. The two external
<script>tags don’t need a nonce (they’re allowed byhttps://sdk.inploi.cominscript-src), but the inline init script does:
static keyword, the same value is returned for both the header and the script tag within a single request.
Recommended approach with wp_enqueue_script
For the cleanest integration, register scripts through WordPress’s script API instead of hardcoding them in your template. This automatically handles CSP nonces if your theme or CSP plugin supports it:
Soft navigation
If your site uses client-side navigation (e.g. Turbo, HTMX, SPA routers), the Kin widget’s DOM can be removed without it knowing. Usedestroy() before the page content is replaced, and re-initialise on the new page.
- Turbo / Turbolinks
- HTMX (hx-boost)
- SPA routers
Features
Real-time streaming responses
Real-time streaming responses
Kin streams responses in real-time, providing a natural conversational experience.
Conversation history
Conversation history
The agent remembers the conversation within a session (or persistently, based on your configuration in Studio).
File uploads
File uploads
Candidates can upload CVs and other documents for the agent to analyse.
Cross-tab sync
Cross-tab sync
Conversations sync across browser tabs for a seamless experience.
Consent screen
Consent screen
Optionally require candidates to accept a consent message before they can use the agent. The screen text, accept/decline labels, and any links are configured in Studio under Agents → Guidance → Basics → Consent. Acceptance is stored per device and is automatically re-prompted if the wording changes.