Skip to main content
The Statisfy SDK (@statisfy/digital-workers-react) lets you embed Statisfy experiences — a Digital Worker chat and a Project (onboarding) module — directly into your own React application or customer portal. Your customers interact with their Statisfy data without ever leaving your product.
The SDK is the programmatic counterpart to Portals. A Portal is a Statisfy-hosted site; the SDK lets you build the same experiences inside an app you host yourself.

What you can build

Digital Worker chat

A full chat widget that talks to one of your Digital Workers — streaming replies, inline forms, conversation history, unread badges, and live replies from a human CSM.

Project module

A read/write view of a customer’s onboarding project: milestones, tasks, progress, and editable fields — as a pre-built component or composable primitives.

Package

The SDK is built with React and TypeScript and is fully typed — every component, hook, and client method ships with type definitions.

How it fits together

You wrap your app once in <StatisfyProvider>, which supplies the gateway URL and authentication. Every SDK component reads that shared config — they never take connection props themselves.

Authentication model

The SDK authenticates each request with two pieces:
  • A bearer token — a short-lived HS256 session token scoped to one customer of your tenant. Your app supplies it through the provider’s getToken callback.
  • A publishable keypk_live_… / pk_test_…, safe to ship in client-side code. It identifies your Statisfy tenant.
The session token is minted by exchanging your signed-in user’s identity (your tenant’s Clerk/IdP JWT) at the POST /sdk/auth endpoint. The token carries tenant_id, customer_id, and portal_id claims, so the gateway scopes every request to exactly that customer — the SDK never trusts a customer id sent from the browser.
The bearer token is not your raw Clerk/IdP JWT — it is the Statisfy session token returned by /sdk/auth, signed with your tenant’s shared secret. See Getting Started for the exchange.
The full token lifecycle, headers, and error codes are in the API Reference.

Next steps

Getting Started

Install, wire up the provider, mint a token, and render your first component.

Digital Worker Chat

Embed the chat widget, render inline forms, and use the headless client.

Project Module

Show and update a customer’s onboarding project.

API Reference

Endpoints, headers, error codes, and TypeScript types.