Experimental feature. API may change.
Basics
Project pages let you create custom React interfaces that run inside Kapso. Each page is written in TSX and compiled on save into a single HTML artifact, rendered in a sandboxed iframe. Create pages at Project → Pages. Pages can bedraft or published. Project owners and admins can create and edit pages; members can view them.
Build a page
The easiest way to build a page is with the Kapso Agent — just ask it to create a page and describe what you want. The agent will generate the TSX for you. To build manually:- Go to Project → Pages → New page
- Set name, slug, description
- Write TSX, use the preview
- Save to compile
Call functions
Pages can call your deployed Kapso functions using the built-inkapso bridge.
First, wait for the bridge to initialize with kapso.ready(). Then call kapso.invokeFunction() with either the function’s id or slug, plus an optional payload. The function returns JSON (or text) from your function’s response, and throws on errors.
Context
When a page is mounted in the inbox, you can access conversation data throughkapso.getContext(). This gives you the current conversation’s phone number, contact info, and any metadata.
Inbox mount
Pages can be mounted directly in the inbox sidebar, appearing as a Page tab in the conversation detail panel. Toggle Inbox mount in page settings to enable this. The mount point key isinbox_conversation_sidebar. Only one page per mount point per project. The embedded inbox only serves published pages.

