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:
Requirements:
  • A Supabase project
  • An API key (anon or service_role)
  • Your project URL
  • A destination table name
Table setup:Your table should include a result_id column (text, unique) to prevent duplicates:

3. Configure Column Mapping

Define how your bot variables map to destination columns:

4. Advanced Options

boolean
default:"true"
Also syncs data such as start time, completion time, and session origin.
array
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
If you see 401 or 403 errors, make sure your provider credentials are correct and still valid.

Environment Variables

For self-hosted deployments, you can configure:

Next Steps

Credentials

Learn how to configure credentials for each provider.