1. Install OpenSSH Server (localhost only)
2. Create the SFTP user and grant read access
A dedicated non-admin SFTP user reads files from a folder on the Windows host. You’ll be prompted for a password — any value; key auth is enforced below. Pick one of the two options:- Option A — create a new folder for Integrate.io to read from.
- Option B — point the SFTP user at an existing folder you already have.
Option A: Create a new folder to read from
A dedicated non-admin user, chrooted intoC:\fileshare-test. Drop the files you want Integrate.io to read into the in/ subfolder; the SFTP user gets read-only access.
Option B: Use an existing folder (read-only)
Use this instead of Option A if you already have a folder to ingest from. Important: Does any non-admin currently write to the folder? OpenSSH refuses the session unless the chroot root and every parent up to the drive are owned by Admins/SYSTEM and not writable by any non-admin principal. This is only recommended if there are no other non-admin users or any existing integrations writing to the folder, otherwise, create a new folder to ingest from.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
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 the folder you set in Step 2, so that folder is the SFTP root. In Integrate.io, the source path always starts at/, which points at that folder on Windows. Do not put the Windows drive or the chroot prefix in the Integrate.io path.
To verify an actual read, first confirm the file exists under the chroot folder on Windows, then run a one-row test package in Integrate.io with the matching source path: