For the complete documentation index, see llms.txt. This page is also available as Markdown.

Setting up the External File Gateway connector

To set up the External File Gateway connector, you'll need access to your SFTP server's credentials: the host name, username, password, and the SHA256 fingerprint of the server's host key.

  1. In Taxi, head to Integrations Select the ESP Connectors tab.

  2. Click 'Add New' Select 'External File Gateway Connector' from the dropdown. This will need to be enabled by Taxi for your account. You'll need to name your connector — we recommend a descriptive name like 'My SFTP'.

  3. Click your connector to edit the settings

  4. Add your SFTP credentials

    • Host name — your SFTP server's hostname, e.g. eu-central-1.sftpcloud.io.

    • Username and Password — your SFTP login credentials.

    • Fingerprint — the SHA256 fingerprint of your server's host key in the format SHA256:<base64>, including the SHA256: prefix. To retrieve it, run the following from a machine that can reach the server and copy the middle value:

      ssh-keyscan -t ed25519 <host> 2>/dev/null | ssh-keygen -lf -

      The output looks like 256 SHA256:Gb8y3KIFNEqr5XoqEBXIC8RmZ3RHFuCkwVHWJEr8L58 <host> (ED25519). Use only the SHA256:… portion — do not include the bit length, host name, or algorithm tag. If your server doesn't serve ED25519, try -t ecdsa then -t rsa in that order.

  5. Set the output filename pattern

    The Filename field controls the name of each JSON file written to your SFTP host. Use handlebars to interpolate values:

    • {{timestamp}} — the export time as Unix epoch seconds (e.g. 1746349623)

    • {{datetime}} — the export time as YYYYMMDDHHMMSS (e.g. 20260504090703)

    • {{version.name}} — the name of the version being exported

    • {{mailing.name}} — the name of the mailing the version belongs to

    • {{project.name}} — the name of the project (campaign) the mailing belongs to

    • {{campaign.name}} — alias for {{project.name}}

    • {{<field_name>}} — any document section field

    Project, mailing, and version names are sanitized before being inserted: any character that is not a letter or digit is removed, and the result is truncated to 101 characters. For example, Spring Promo / 2026 becomes SpringPromo2026. If a name is missing (for example, a mailing has no project), the token is replaced with an empty string.

    If the filename does not already end in .json, the extension is appended automatically. If the Filename field is left blank, files are named <timestamp>.json.

    For example, {{project.name}}_{{mailing.name}}_{{version.name}}_{{datetime}}.json produces a unique, human-readable file name per exported version, e.g. QuarterlyNewsletter_AprilSend_VariantA_20260504090703.json.

  6. Choose what content goes into the exported JSON

    The connector lets you populate three sections of the output JSON beyond the always-included rendered HTML, plain text, and subject line:

    • Data field names — a space-separated list of document section field names. Each field's resolved value is added to the JSON's data object.

    • Metadata field names — same idea, but the values land in the JSON's metadata object.

    • Global content key field names and Global content value field names — paired space-separated lists. Position N of the keys list pairs with position N of the values list (both lists must have the same length). For each module/editable that has both the key field and the value field, the key field's resolved value becomes a JSON key and the value field's resolved value becomes its value, all merged into data.global_content.

    Example: with keys = contact terms privacy unsub and values = contact_url terms_url privacy_url unsub_url, the JSON's data.global_content will contain four entries — for each footer link, the label becomes the key and the URL becomes the value.

  7. (Optional) Configure other options

    • Enable segmentation — opt in to the segmentation flow when exporting multiple versions.

    • Hide audit trail comment at bottom of the email — when set to Yes, the audit-trail comment normally appended to exported HTML is omitted.

    • Custom Audit Trail Comment — customize the audit trail comment using template variables such as {{timestamp}}, {{user_name}}, {{user_email}}, {{mailing_name}}, {{mailing_url}}, {{version_name}}, {{version_url}}, and {{organization_name}}.

  8. Select if you want to set some restrictions for this connector You can control who can use the connector and what types of exports they can run. When these are selected you'll see the options to the right of the screen where you can add users and teams and choose the allowed export types.

  9. Save your settings Click 'Save Details & Continue' or 'Save Details & Exit'.

Last updated