Skip to main content
The @usecrow/react-native package adds Crow to any React Native app. Drop in <CrowWidget /> for a ready-made floating chat button and bottom sheet, or use the useChat hook to build a fully custom interface.

Installation

For conversation persistence across app restarts:

Quick Start

Drop-in widget (fastest)

Add <CrowWidget /> inside your <CrowProvider> for a floating chat button and bottom sheet — zero UI work required:
CrowWidget renders a floating action button that opens a slide-up chat sheet. It handles messages, streaming, conversation history, and user auth out of the box.

Custom UI (headless)

Use useChat to build your own interface:

CrowProvider Props


useChat Hook

The main hook for chat functionality:

Message Type

Event Callbacks


Conversation Persistence

By default, conversations are lost when the app closes. Use createAsyncStorageAdapter for persistence:
The storage adapter must preload data before the provider mounts. Call preloadForProduct() during your app’s initialization phase.

useConversations Hook

Manage conversation history for authenticated users:
Conversation history requires an authenticated user. Call identify() with a valid JWT token first.

User Identity

Identify users to enable conversation history and personalized responses:
Or pass the token via props:
See Identity Verification for generating tokens on your backend.

Client-Side Tools

Register tools that run natively in your app:
Upload tool definitions on the Actions page so the agent knows they exist.

Page Context

Send app state with messages so the agent knows context:

Full Example


Differences from Web SDK


Identity Verification

Generate JWT tokens on your backend

Client-Side Tools

Register tools the agent can call

Embed Widget

Web widget installation guide

Callbacks

Subscribe to lifecycle events