Skip to main content
The prebuilt conversation UI, extended with a custom dark theme, a custom tool toast, and a post-call review screen (recording + transcript). Use it when you like the prebuilt layout but want to theme it and add a review flow. Two folders:

Prerequisites

Setup

Clone the repo:
Install and configure the backend. Copy backend/.env.example to backend/.env.local and add your API key:
Set your scenario id in backend/server.ts:
record_conversation: true is required for the post-call review to have a recording to show. Start the backend (localhost:3001) and leave it running:
In a second terminal, start the frontend:
Open localhost:5173 and click Start Call. When the call ends, you land on the review screen.

How it works

The frontend (localhost:5173) calls your backend (localhost:3001), which calls Akapulu with your API key. This demo does not authenticate users. Anyone who can reach /api/connect can start a conversation on your account. Before production, authenticate users on that route. Pass those headers with config.headers on AkapuluProvider (object or a function called when the request is sent). The backend exposes four routes:
On the frontend:
  • src/App.tsx — the styled AkapuluConversation (dark styles, custom tool toast, custom transcript rows, connect chime on by default) plus an event logger. A single reviewId state switches to the review screen when the call ends (no router).
  • src/customization.tsx — the darkStyles object and the custom tool toast renderer.
  • src/ConversationReview.tsx — post-call screen; fetches details and polls until the recording is ready.

View on GitHub