Skip to main content
Open Windows Powershell via Run as Administrator and run the commands below

1. Install OpenSSH Server (localhost only)

2. Create the share folder and the SFTP user

A dedicated non-admin user, chrooted into C:\fileshare-test, writable only inside out/. You’ll be prompted for a password — any value; key auth is enforced below.

3. Generate the tunnel keypair, upload to Integrate.io dashboard

Go to Integrate.io dashboard Settings > SSH Public Key and paste the public key If you have already uploaded a public key from this same machine, skip this step.

4. Create the SFTP connection in Integrate.io

In the Integrate.io UI, create a new SFTP connection:
  • Access type: reverse
  • Authentication method: Public key authentication
  • User: xplenty-sftp
  • Both tunnel endpoint and public key would be generated after saving the connection.

5. Install the Integrate.io SFTP public key on Windows

Run the script below and paste the SFTP public key generated from the connection on our previous step.

6. Quick test before making it permanent

Run the tunnel once in the foreground to confirm it connects, then click Test Connection in the Integrate.io UI. Press Ctrl + C here to stop the tunnel once it passes. Fill in the two values from Step 4 and paste:

7. Run the tunnel as a persistent SYSTEM task

Fill in the two values from the Integrate.io UI in Step 4, then paste:

8. Confirm and test

You should see one ssh process and State: Running. In the Integrate.io UI, click Test Connection — it should pass.

Path mapping: Integrate.io path vs Windows path

The SFTP user is chrooted into C:\fileshare-test, so that folder is the SFTP root. In Integrate.io, the destination path always starts at /, which points at C:\fileshare-test on Windows. Do not put the Windows drive or the C:\fileshare-test prefix in the Integrate.io path. The user can only write inside out/, so destination paths must begin with /out/. To verify an actual write, run a one-row test package in Integrate.io with the SFTP destination path set to /out/test.csv, then on Windows:

Removing everything later

Last modified on June 1, 2026