Introduction
RevRag builds AI voice agents for banking, lending, insurance, and wealth apps. They guide your users inside your app and call them on the phone.
RevRag's agents work like a personal relationship manager for each of your users:
- In your app, the agent talks with users by voice and knows which screen they're on. On supported SDKs, it can also act on the screen (tapping, typing, and scrolling) to walk a user through onboarding, KYC, or an application.
- On the phone, the agent calls the users you choose, for example to recover an abandoned loan application, renew an insurance policy, or activate a new credit card.
These docs are for the engineers who connect RevRag to your product. They cover the in-app SDKs, the Campaigns API for outbound calls, the webhooks that send each call's result to your backend, and RevRag's security and data-handling practices.
Choose an integration
In-app agent
Add a voice agent to your mobile or web app with an SDK for React Native, Flutter, Android, iOS, React, or Angular.
Calling agent
Push records to a campaign from your backend. The agent calls each person on the campaign's schedule.
| In-app agent | Calling agent | |
|---|---|---|
| Reaches users | Inside your app, while they use it | On their phone, through outbound calls |
| Good for | Onboarding and KYC, in-app sales, feature adoption, user support | Abandoned-application recovery, policy renewals, card activation, investment reactivation |
| You build | An SDK integration in your app | Calls to the Campaigns API from your backend |
| Results | SDK events while the call is live, and a call.ended webhook after it ends | Record status from the API, and a call.ended webhook after each call |
You can use both, and they can share what each user has already told them. See How it works.
How it works
Your app initializes the SDK with your API key. After the user logs in, it sends their ID as app_user_id. For phone calls, your backend instead pushes a record to a campaign: a phone number, any variables the agent uses, and the same app_user_id.
In your app, the user starts a live voice call from the agent's floating button, and the agent follows along as they move between screens. By phone, the campaign dials each record within its calling window, retry rules, and concurrency limit.
Once webhooks are turned on, RevRag sends a signed call.ended webhook to your server when each call ends. It carries the call's status, summary, transcript, recording URL, extracted variables, and your app_user_id.
RevRag keys conversation memory on app_user_id. When your app and your campaign records send the same ID, each agent picks up the context of the user's conversations with the other.
Add the in-app agent
Every SDK guide follows the same core steps: install the package, initialize it with your API key from the RevRag dashboard, add the agent to your app, and identify the user after login.
| Platform | Package |
|---|---|
| React Native | @revrag-ai/embed-react-native |
| Flutter | embed_flutter |
| Android (Kotlin) | ai.revrag:embed-android |
| iOS (Swift) | RevragEmbed |
| React, including Next.js and Preact | @revrag-ai/embed-react |
| Angular | @revrag-ai/embed-angular |
If your mobile app opens your website in a WebView, follow the React Native WebView or Flutter WebView guide to give the agent microphone access.
Start a calling campaign
-
In the RevRag dashboard, create and start a campaign. The campaign sets the agent, calling schedule, retry rules, and concurrency limit. Copy its
campaign_idfrom the campaign's Settings tab. -
Push records from your backend, with your workspace API key in the
X-API-Keyheader. Each accepted record returns arun_id.curl -X POST "https://api.revrag.ai/v1/campaigns/$CAMPAIGN_ID/records/push-bulk" \ -H "X-API-Key: $REVRAG_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "records": [ { "phone_number": "+919876543210", "variables": { "first_name": "Riya" }, "app_user_id": "user_12345" } ] }' -
Track each record by its
run_idwith Get Record Status, or receive acall.endedwebhook when each call ends.
The Campaigns API reference documents every endpoint, field, and error.
Webhooks and security
Webhooks
Receive each call's result on your server, with automatic retries and a way to recover missed deliveries.
Webhook security
Verify the HMAC-SHA256 signature on every webhook before you trust its payload.
Compliance and certification
SOC 2 Type II and ISO 27001, with VAPT of the SDKs, APIs, and platform every six months.
Data sharing
The third-party vendors that process call data, what each one receives, and how retention is limited.
Build with AI tools
- Integration prompts: the React Native, Flutter, Android, React, and Angular guides each have a prompt for AI coding agents such as Copilot, Cursor, and Claude Code. Open it with the llms.txt button at the top of the guide, then paste it into your coding agent in your app's repository.
- Markdown pages: add
.mdto any page's URL, or select View as Markdown. - Whole docs:
/llms.txtindexes every page, and/llms-full.txthas all of them in one file. - Ask AI: select Ask AI at the top of the page to ask a question about these docs.
Get help
- Email contact@revrag.ai to turn on webhooks, or for help with an integration.
- Find your API keys and campaigns in the RevRag dashboard.
- Don't have a RevRag workspace yet? Get in touch through revrag.ai.