Skip to main content

Chatbot Plugin

The Chatbot plugin provides conversational flows for job applications and other interactions.

Installation

Basic usage

Configuration

Theme

Feedback integration

Collect feedback after conversations:

Custom terms

Override default UI text. Common keys include send, skip, undo, maximize, minimize, close_application, upload_file, address_search, and various validation_* messages.

API

prepare()

Preloads UI assets. Optional but recommended to avoid delays.

open(flow)

Opens the chatbot with a flow (or a promise that resolves to a flow).

close()

Closes the chatbot UI and clears the in-memory flow state. The widget stays in the DOM and can be reopened with open().

destroy()

Fully tears down the chatbot — unmounts the UI, removes the DOM element, and resets all runtime state. Use this when the widget is no longer needed on the current page. After destroy(), call prepare() to re-initialise.
Use close() to hide the chatbot temporarily. Use destroy() for a full cleanup — for example, during page transitions on sites with client-side navigation.

fetchFlowByJobId(jobId, options?)

Fetches a conversation flow for a specific job. By default, the jobId is treated as the external (ATS) ID.
Options:

fetchFlowById(flowId, options?)

Fetches a conversation flow by its ID. Accepts the same options as fetchFlowByJobId (except idType).

Soft navigation

If your site uses client-side navigation (e.g. Turbo, HTMX, SPA routers), the chatbot’s DOM can be removed without it knowing. Use destroy() before the page content is replaced, and re-initialise on the new page.
inploi.ready() is a DOM-ready helper — it replaces document.addEventListener('DOMContentLoaded', ...) for the initial page load. It does not replace framework-specific navigation hooks like turbo:load or htmx:afterSettle.

Full configuration reference