In-app support for your React Native app
One npm package puts support conversations, bug reports and a feedback board inside your React Native or Expo app. Your team answers from one dashboard; replies stream into the open thread live and arrive as push notifications when the app is closed.
@clariodesk/react-native on npm · Live in 10 minutes · No backend to deploy
Three calls and you're live
No webhooks, no OAuth dance, no support backend to build. Devices register themselves with hardware-backed keys, so there's no user-auth plumbing either.
1. Install the package
npm install @clariodesk/react-native react-native-get-random-values
# then pick the secure-storage peer for your stack:
npx expo install expo-secure-store # Expo
npm install react-native-keychain # bare RN2. Initialize once at app start
import { ClarioDesk } from '@clariodesk/react-native';
// First launch generates a hardware-backed device key and registers it.
await ClarioDesk.init({ apiKey: 'pk_live_…' });
// Optional — after your own auth knows who the user is. Metadata only:
// the device key is the real identity, so this grants no access.
await ClarioDesk.identify({ externalId: user.id, email: user.email });3. Open the support UI
Prebuilt and themeable, or skip it entirely and build your own on the headless API.
import { ClarioDeskProvider } from '@clariodesk/react-native/ui';
import { openInbox, openBugReport } from '@clariodesk/react-native/ui';
<ClarioDeskProvider theme={{ primary: brand.accent, mode: 'system' }}>
<App />
</ClarioDeskProvider>;
openInbox(); // the user's conversations
openBugReport(); // bug report form, screenshot attached automaticallyWhat's specific to React Native
All three ClarioDesk SDKs share one frozen contract, so every feature behaves the same everywhere. These are the parts that are particular to React Native.
Bare RN and Expo, both architectures
Bare React Native on the old bridge and the New Architecture, Expo dev builds and EAS. You can even evaluate the whole flow in Expo Go before committing to a dev build.
Zero mandatory native code
The prebuilt UI at @clariodesk/react-native/ui is pure JS with its own modal — no react-navigation dependency. Push lives in a separate package so Firebase never autolinks into a host that doesn't want it.
Hooks, not wiring
Live ticket lists and threads come through React hooks that subscribe and clean up on their own. Writes are imperative and optimistic.
One SDK, the whole customer relationship
Support, bug reports and feedback share one customer record — so the person who joined your waitlist, filed a bug and voted for dark mode is one person, not three strangers.
- Support conversations with live streaming replies
- Push notifications when the app is closed
- Bug reports with device, OS, version, network and logs attached
- Photos, video and file attachments both ways
- An in-app feedback board with voting
- A satisfaction rating on every resolve
- One-click escalation to a pre-filled Linear issue
- RevenueCat subscription status on every ticket
React Native questions, answered
Be first in line when
ClarioDesk launches
We onboard the waitlist in small batches. Early users get hands-on integration help — from a human — and a real vote on what ships next, starting with the feedback board.
No spam, ever. We'll only email you about ClarioDesk.