External Sync (BYOD - Bring Your Own Database) lets you keep a copy of your bot results in external providers, so you maintain full control over your data.
What Is External Sync?
By default, Sendbot stores all conversation results in its internal database. With External Sync, you can automatically replicate that data to:- Supabase - A serverless PostgreSQL database
- Google Sheets - Google spreadsheets
- NocoDB - An open-source Airtable-style database
- Webhooks - Any HTTP endpoint for custom integrations
Why Use It?
Data Ownership
Your data stays in your own database, not only in Sendbot’s cloud.
Integrations
Connect directly to your CRM, ERP, or BI stack without extra middleware.
Automatic Backup
Real-time redundancy for every result.
Custom Analytics
Use SQL or BI tools to run advanced analytics on your data.
Setting Up Sync
1. Open Bot Settings
In the editor, click “Results” -> “Storage” to open the storage settings.2. Choose a Provider
Select one of the available providers:- Supabase
- Google Sheets
- NocoDB
- Webhook
Requirements:
- A Supabase project
- An API key (
anonorservice_role) - Your project URL
- A destination table name
result_id column (text, unique) to prevent duplicates:3. Configure Column Mapping
Define how your bot variables map to destination columns:| Bot Variable | Destination Column |
|---|---|
name | customer_name |
email | customer_email |
phone | phone |
4. Advanced Options
Also syncs data such as start time, completion time, and session origin.
Restricts sync to sessions that originated from specific domains only.
Technical Architecture
The system uses an Outbox Pattern architecture to guarantee reliability:Reliability Guarantees
- Encryption at rest: Payloads are encrypted before entering the queue
- Automatic retries: Exponential backoff on failures
- Configurable TTL: Records expire after 72h by default (
RESULTS_SYNC_OUTBOX_TTL_HOURS) - Idempotency: Incremental versioning prevents duplicates
Monitoring
In the “Storage” tab under Results, you can see:- Sync status per result
- Recent errors and retry count
- Last successful sync
Environment Variables
For self-hosted deployments, you can configure:| Variable | Description | Default |
|---|---|---|
RESULTS_SYNC_OUTBOX_TTL_HOURS | Maximum time a record stays in the queue | 72 |
Next Steps
Credentials
Learn how to configure credentials for each provider.