Hydra logoHydra · Hydra Support

Configuration

Data export

Download every contact and conversation in your workspace, or export a single contact's data for a GDPR subject-access request.

Data export

Hydra can produce three different exports:

  1. Contacts, leads & former customers — the entire customers table for your workspace, as CSV or JSON.
  2. Conversations — every conversation in your workspace with its messages, replies, and internal notes, as JSON.
  3. Single contact — everything Hydra holds about one person, suitable for a GDPR subject-access request.

All three are Admin-only. Every export writes an entry to the audit log so there is a permanent record of who exported what, when.

Where to find it

Settings → Data export (Admins and Owners only).

The single-contact export lives on the contact's detail page — open any contact or lead and click Export data.

Contacts, leads & former customers

One row per customer in your workspace. Includes leads, contacts, former customers, and anonymous widget visitors captured by a bot.

Columns: id, type, email, name, company, job_title, phone, source, external_id, account_id, source_bot_id, source_conversation_id, notes, metadata, churn_reasons, created_at, last_seen_at, promoted_at, churned_at.

  • CSV is suitable for spreadsheets or CRM imports. Values containing commas, quotes, or newlines are escaped per RFC 4180. JSON-typed columns (metadata, churn_reasons) are embedded as serialized JSON strings.
  • JSON preserves nested structures as objects. Good when you are piping the export into another system.

Conversations

JSON only. Each conversation includes:

  • Its own row (id, status, subject, summary, channel_id, bot_id, widget_id, assigned_agent_id, created_at, updated_at, etc.)
  • messages — every bot-facing chat message (role = user | assistant | tool).
  • replies — every teammate reply and every internal note. Internal notes are flagged with is_internal: true; customer-facing replies have is_internal: false.

The file is a JSON array streamed in batches of 200 conversations so large tenants don't time out.

Single contact (GDPR)

From a contact or lead detail page, click Export data. You get a single JSON file containing:

  • The customer row itself.
  • Every conversation the contact appears on, with messages and replies.
  • Every ticket the contact is attached to, with ticket replies and internal ticket notes.

This is the document you'd typically attach to a subject-access request response.

Last-export timestamps

The Data page shows when each bulk export was last downloaded. The timestamp refreshes a second or two after the download starts. The single-contact export does not update these timestamps — it has its own audit-log entry instead, with the contact's id as the target.

Formats at a glance

ExportFormatStreamingPermission
Contacts bulkCSV / JSONYes, 1000-row batchesAdmin
Conversations bulkJSONYes, 200-conv batchesAdmin
Single contactJSONLoaded in one passAdmin

What exports do NOT include

  • Attachments (images, files uploaded in conversations) — files live in Supabase Storage and are not in scope for a data-row export. Contact support if you need a bulk attachments dump.
  • Knowledge base content — managed separately under Knowledge.
  • Mini-app configurations, flow definitions, bot configurations — these are workspace config, not tenant data.
  • Any record belonging to another tenant.

Troubleshooting

  • "Unauthorized" or no buttons visible — the Data page and all export endpoints require the Admin or Owner role. Members cannot export.
  • The download never starts — browsers occasionally block downloads from origins that don't match. Check your browser's download manager; if blocked, allow downloads from hydra-help.com and retry.
  • The CSV opens with garbled accents in Excel — the file is UTF-8 encoded. In Excel, use Data → From Text/CSV and choose UTF-8 when importing instead of double-clicking to open.