Skip to main content
Export the current conversations list to a CSV file from your browser. The export respects whatever filters and search you have applied, and you choose which columns to include.

Run an export

1

Apply your filters

Narrow the conversations list using search and filters first. The export sends the same filters to the API, so only matching conversations are included. See Search and filters.
2

Open the export dialog

Click Export CSV. The Export Conversations dialog opens with a column picker.
3

Select columns

Check the columns you want. Use Select All or Clear All to toggle every column at once. You must select at least one column.
4

Export

Click Export CSV. The button shows Exporting… while rows are fetched, then the browser downloads a file named conversations_export_<YYYY-MM-DD>.csv.

Columns

Every conversation field is available as a column. By default, three columns are pre-selected:
  • user_id
  • recording_url
  • created_at
The full set of selectable columns:
Column labelField
IDid
Organization IDorganization_id
Trunk IDtrunk_id
Trunk Configtrunk_config
Directiondirection
Agent IDagent_id
Agent Version IDagent_version_id
Agent Configagent_config
User IDuser_id
User Nameuser_name
Agent Numberagent_number
Channelchannel
Durationduration
Recording URLrecording_url
Custom Metadatacustom_metadata
System Metadatasystem_metadata
Conversationconversation
SIPsip
Summarysummary
Statusstatus
Service Versionservice_version
Created Atcreated_at
Updated Atupdated_at
The Conversation column carries the transcript. Object-valued columns such as Agent Config, Trunk Config, System Metadata, and SIP are written as JSON in a single cell.
Recording URL maps to the API’s recording_details field and extracts the recording_url value from it. If a conversation has no recording, the cell is empty.

Custom metadata flattening

When you select Custom Metadata, the export does not write the whole object into one cell. Instead it recursively flattens each conversation’s custom_metadata so every leaf value becomes its own column, keyed by its path:
custom_metadata.order.id
custom_metadata.order.total
custom_metadata.source
Rules:
  • Nested objects are expanded into custom_metadata.<child>.<grandchild> columns.
  • Arrays are treated as leaf values and kept as a single JSON cell — they are not split by index.
  • The full set of metadata columns is the union of keys across all exported rows, sorted alphabetically. Rows without a given key have an empty cell.
  • An empty object renders as {}.
Because each conversation can carry different custom_metadata keys, the column set is computed from every row in the export. Conversations that omit a key still get a blank cell for it, so columns stay aligned.

Limits

The export runs entirely in your browser. It calls the conversations list endpoint (GET /core/conversations) in a loop, paging with a cursor, and assembles the CSV client-side. There is no server-side bulk export.
LimitValue
Rows per page request200
Maximum pages5
Maximum rows exported~1000
The export is capped at about 1000 rows (5 pages of 200). If your filtered list is larger, only the first ~1000 conversations are included. Tighten your filters before exporting to make sure you capture the conversations you need.
The loop also stops early when a page returns fewer than 200 rows, when no rows come back, or when the pagination cursor stops advancing.

File format

  • Output is UTF-8 CSV with a byte-order mark, so spreadsheet apps read non-ASCII characters correctly.
  • Values containing commas, quotes, or newlines are quoted, and embedded quotes are doubled.
  • Object and array cells are JSON-encoded.

Search and filters

Narrow the conversations list before exporting; the export reuses the same filters.