Skip to main content

Data Exports (SFTP)

Automatically export your WAX data for advanced analysis and reporting

Want to automatically retrieve your WAX data (contacts, campaign performance, WhatsApp events…) into your own system, without having to download it manually every day? That's exactly what SFTP data export is for.

What is SFTP?

SFTP (Secure File Transfer Protocol) is a secure protocol that transfers files automatically between two systems, with no manual intervention.

Think of it as a locked mailbox that can only be opened with the right key: every day, WAX drops a file containing your data into it (for example, your contact list or your campaign statistics).

Your system then picks up that file automatically and securely.

It's a reliable, automated alternative to manually exporting CSV files: once set up, the exchange happens on its own, every day.

You can also export your data to a Google Spreadsheet instead of an SFTP server.

A few terms you'll come across

When setting up an SFTP connection in WAX, you'll be asked for several technical details. Here's what they mean:

Term

What it is

Host

The address of the server that will receive your files, e.g. sftp.yourdomain.com. It's usually provided by your technical team or your hosting provider.

Port

The communication "channel" used by the server. By default, 22 for SFTP and 990 for FTPS (a variant WAX also supports).

Username

The username WAX uses to connect to your server.

Password / SSH private key

A password is the most common authentication method; some servers prefer an SSH private key, a security file more robust than a password (the two are never used at the same time).

Remote directory

The exact path of the folder on your server where WAX should drop the exported files (e.g. /exports/wax/).

IP addresses to allow

If your server restricts connections to specific addresses, your technical team will need to allow (whitelist) WAX's IP addresses, provided directly in the interface.

What data can you export from WAX?

WAX lets you automatically export several types of data, in CSV format:

  • Contact lists: a list or segment of contacts (ideal for syncing your CRM or marketing tool)

  • WhatsApp messages: the history of messages exchanged

  • Clicks (click events): clicks recorded on your links

  • Performance: daily statistics for your campaigns and automations (cost, delivered, read, clicks, conversions…)

  • Custom metrics: any standard event (delivered, read, opt_in, opt_out…) or custom event you track in WAX

Each export type has its own columns; you'll find the details in the exported file format section below.

Prerequisites

To set up your export, you'll need:

  • Admin access to WAX to reach the settings

  • Your SFTP server connection details: host, port, username, and a password or an SSH private key — ask your technical team or hosting provider if you don't have them

  • The destination folder on your server where the files should be dropped

  • To know whether your server restricts connections by IP — if so, plan for your technical team to whitelist WAX's IP addresses

  • To decide what to export, and how often (once a day, at what time in UTC)

Setting up your SFTP export, step by step

  1. Go to data exports Head to Settings > Data Export, then pick the category matching the data you want to export: Contact lists, WhatsApp sent, RCS or SMS undeliverable, for example.

  2. Set the delivery time Choose the daily time (in UTC) at which WAX should generate and send the file.

  3. Choose the destination: SFTP In the Destination dropdown, select SFTP (the Google Spreadsheet option — and, for metrics, Webhook — are also available).

  4. Allow WAX's IP addresses, if needed If your server restricts connections by IP, enable the corresponding option to display the list of WAX IP addresses to share with your technical team.

  5. Create your SFTP connection Click "Create Secure File Transfer Protocol Connection" and fill in:

    • Protocol: SFTP or FTPS (the port is pre-filled automatically: 22 for SFTP, 990 for FTPS)

    • Host: your server's address

    • Port: adjust if your server uses a non-standard port

    • Username: your login username

    • Authentication: password, or enable "Authenticate with an SSH private key" to use a private key instead

    🔑 If you use a private key, it must be in OpenSSH format, including the -----BEGIN OPENSSH PRIVATE KEY----- and -----END OPENSSH PRIVATE KEY----- lines.

  6. Enter the file name and destination folder Fill in the desired "File name" and the "Remote directory" where WAX should drop the file on your server.

  7. Choose the data to include Depending on the export type, you can select which contact attributes to include ("Include Contact Attributes"), the name of the campaigns/automations behind the event ("Include Campaign and Automation names"), or the detailed event properties ("Include Event Properties").

  8. Activate and save Switch the status to Active, then click "Save". Your export is ready.

A "Backfill" button is available: it triggers a first delivery immediately, without waiting for the next scheduled time. Handy for checking that everything works correctly.

What happens next?

Every day, at the time you chose (in UTC), WAX automatically generates the corresponding CSV file and drops it into the configured folder on your SFTP server.

No further action is needed on your side as long as the export stays active.

You can come back to Settings > Data Export at any time to edit the configuration, pause the export (Inactive status), or create a new one for another data type.

Exported file format

All WAX exports are generated in CSV format, encoded in UTF-8, with a comma as the column separator.

Contact list exports

You can specify which WAX contact list will be exported to your SFTP server. This works with both segments and static contact lists.

Header

Type

Description

Example

phone_number

String

Phone number of the contact, prefixed with its country code

33612345678

CUSTOM*

String

Any custom attribute you want to add, first_name for instance.

Alice

This export lets you add any custom attribute you may need.

Opt out exports

You can export the opt-outs that occurred the previous day.

Header

Type

Description

Example

phone_number

String

Phone number of the contact, prefixed with its country code

33612345678

message

String

The message that lead to the opt out event

I want to unsubscribe

reference_name

String

Name of the entity that lead to the opt out. Could be name of the Campaign / Automation or Agent that opted out the contact.

WAX_CAMPAIGN_SUMMER

updated_at

String (ISO 8601 formatted Time)

Time at which the opt out happened

Tue, 08 Apr 2025 08:42:25.015735000 UTC +00:00

CUSTOM*

String

Any custom attribute you want to add, first_name for instance.

Alice

This export lets you add any custom attribute you may need.

Opt in exports

You can export the opt-ins that occurred the previous day.

Header

Type

Description

Example

phone_number

String

Phone number of the contact, prefixed with its country code

33612345678

message

String

The message that lead to the opt in event

I want to unsubscribe

reference_name

String

Name of the entity that lead to the opt in. Could be name of the Campaign / Automation or Agent that opted in the contact.

WAX_CAMPAIGN_SUMMER

updated_at

String (ISO 8601 formatted Time)

Time at which the opt out happened

Tue, 08 Apr 2025 08:42:25.015735000 UTC +00:00

CUSTOM*

String

Any custom attribute you want to add, first_name for instance.

Alice

This export lets you add any custom attribute you may need.

Performance exports

You can export the performance of your automations and campaigns, with 1 row per day and per entity (Automation or Campaign).

Header

Type

Description

Example

date

String (ISO 8601 formatted Time)

Date of the performance summary

Tue, 08 Apr 2025 08:42:25.015735000 UTC +00:00

reference_name

String

Name of the entity that is being reported.

WAX_CAMPAIGN_SUMMER

reference_type

String (Automation / Broadcast)

Type of the entity. Automation or Broadcast for a Campaign.

Automation

reference_id

Integer

Id of the entity.

1234

cost_eur

Integer

Total cost of the conversations (including META and WAX markups) in euros and cents. 10 euros in the example.

100.00

delivered

Integer

Count of conversations that have been delivered this day.

10000

read

Integer

Count of conversations that have been read this day.

9000

interacted

Integer

Count of conversations that received replies or clicks on urls

7500

quick_reply

Integer

Count of conversations that received replies from quick replies buttons

6500

clicked

Integer

Count of conversations that received clicks on URLS

6000

converted_read

Integer

Count of conversions that happened within the read attribution window.

200

revenue_read_eur

Integer

Sum of revenues from conversions that happened within the read attribution window. In Euros.

200.00

converted_interacted

Integer

Count of conversions that happened within the interacted attribution window.

400

revenue_interacted_eur

Integer

Sum of revenues from conversions that happened within the interacted attribution window. In Euros.

400.00

converted_clicked

Integer

Count of conversions that happened within the clicked attribution window.

600

revenue_clicked_eur

Integer

Sum of revenues from conversions that happened within the clicked attribution window. In Euros.

600.00

opt_in

Integer

Count of contacts that opted in.

800

opt_out

Integer

Count of contacts that opted out.

80000

billed_messages

Integer

Count of billed messages.

10000

You won't be able to add custom attributes to this export.

Metric exports

You can export any type of metric you want, whether it's a custom metric or one of the standard metrics provided by WAX:

  • delivered

  • read

  • clicked

  • failed

  • quick_reply

  • opt_in

  • opt_out

  • billed_message

  • interacted

Header

Type

Description

Example

metric_name

String

Name of the metric like delivered, read, clicked, …

delivered

unique_id

String

The ID of the metric event, provided by WAX when it is a WAX internal metric such as delivered, or by your system in the case of a custom metric

12345

occurred_at

String (ISO 8601 formatted Time)

The time at which the metric event occurred.

Tue, 08 Apr 2025 08:42:25.015735000 UTC +00:00

phone_number

String

The phone number of the contact for which that metric event occurred.

33612345678

CUSTOM*

String

Any custom attribute you want to add, first_name for instance.

Alice

Troubleshooting

Saving the SFTP connection fails Check that the host, port and username are filled in, and that a password or a private key is provided (not both, and not neither). FTPS requires a password (private keys are only available with SFTP).

Saving the export fails If the destination is SFTP, the "File name" and "Remote directory" fields are required: make sure they're filled in.

Files aren't arriving on your server Check, in order: that the export is set to Active; that the scheduled time is indeed in UTC (watch out for the offset with your local time zone); that the remote directory you entered exists and that your SFTP user has write permissions on it; and, if your server filters by IP, that WAX's IP addresses have been whitelisted by your technical team.

Your SSH private key is rejected Check that it's in full OpenSSH format, with its header and footer lines (BEGIN/END OPENSSH PRIVATE KEY), copied without extra characters and not truncated.

FAQ

What format are the exported files in? CSV only, for now.

How often are exports sent? Once a day, at the UTC time you choose during setup.

Is SFTP secure? Yes: SFTP exchanges are encrypted end to end, and if you use an SSH private key, it is stored encrypted in WAX.

Can I create several exports (contacts, performance, metrics…) to the same SFTP connection? Yes, the same SFTP connection can be reused for several exports, to different folders if needed.

Who should I contact if I'm stuck? Your Customer Success Manager or our technical support team can help you with the setup.

Did this answer your question?