SupportFlow is a conversational AI customer support system integrated with Twilio and Eleven Labs APIs, using Kafka and MongoDB for event streaming and backend storage. This repo contains the frontend of the project.(demo: (+1 272-379-9799 demo).
Our project is split across three repositories:
- Frontend (this repo) –
SupportFlow - Backend (Call History Service) –
Supportflow-backend - Kafka Module –
Supportflow-kafkamodule
Follow these steps in this exact order to get the project up and running locally:
cd C:\kafka\bin\windows
java -cp "C:\kafka\libs\*" org.apache.zookeeper.server.quorum.QuorumPeerMain C:\kafka\config\zookeeper.propertiescd C:\kafka\bin\windows
kafka-server-start.bat ..\..\config\server.propertiescd C:\Users\91727\Downloads\ngrok-v3-stable-windows-amd64
ngrok.exe http 8080Keep the terminal open and copy the forwarded https URL.
Clone and open the Supportflow-kafkamodule repo in Eclipse IDE.
Run the KafkaConsumer.java file as a Java application.
Open the Supportflow-kafkamodule repo in Eclipse.
Run the TwilioCallHandler.java Spring Boot application.
-
Go to the Eleven Labs Conversational AI dashboard
-
Navigate to Post-call Webhook Settings
-
Paste the ngrok URL copied earlier and add
/webhookat the endExample:
https://<your-ngrok-subdomain>.ngrok.io/webhook -
After saving, copy the Webhook Secret generated.
-
Open the
application.propertiesfile in the Kafka module and update the following keys:server.port=8080 elevenlabs.webhook.secret=your_generated_webhook_secret elevenlabs.api.key=your_elevenlabs_api_key elevenlabs.agent.id=your_elevenlabs_agent_id
Clone the Supportflow-backend repo.
Run the following command to start the Spring Boot application:
./mvnw spring-boot:runThis will start the backend service connected to MongoDB for storing and retrieving call history.
Clone this repo SupportFlow.
Install dependencies and run the dev server:
npm install
npm run devYour frontend is now live at http://localhost:3000
- Buy a Twilio Testing Number
- Link it with Eleven Labs
- Add sample knowledgebase & agent setup
- Make a test call to interact with the AI agent
The full pipeline from call → AI agent → webhook → Kafka → MongoDB → frontend is now active.
- Frontend: Typescript
- Backend: Spring Boot + MongoDB
- Streaming: Apache Kafka
- Dev Tools: Eclipse, VS Code, Ngrok
- Voice API: Twilio
- AI Voice: Eleven Labs
- SupportFlow (Frontend)
- Supportflow-backend (Call History Service)
- Supportflow-kafkamodule (Kafka Streaming)
For any questions or setup issues, reach out to [[email protected]] or [[email protected]]