Before you begin
Your SFTP server must support:- Public internet access without a source-IP allowlist. Kadoa has no fixed SFTP IP address.
- Password or SSH private-key login.
- One of these host-key algorithms:
ssh-ed25519,ecdsa-sha2-nistp256,rsa-sha2-256, orrsa-sha2-512. posix-rename@openssh.comto rename completed data files.
Prepare the server
1
Create an account
Create a dedicated account on your SFTP server.
2
Create the base directory
Create a directory such as
/incoming/kadoa.Use an absolute path as the SFTP account sees it. The path cannot be /.3
Grant file access
Allow the account to create subdirectories and read, write, rename, and delete files within the base directory.
4
Get the server fingerprint
Get the host-key algorithm and SHA-256 fingerprint from your server administrator.For an OpenSSH server with an Ed25519 host key, run this command on the server:Record the full fingerprint, including
SHA256:. This example uses the ssh-ed25519 algorithm.Add your credentials
A team Owner or Admin must create the Secret Variables. Never send passwords, private keys, or passphrases through email, chat, or a ticket. In Team settings, open Variables. Choose one login method:- Password: Store the password in a Secret Variable such as
SFTP_PASSWORD. - SSH private key: Authorize the matching public key for the SFTP account. Kadoa-managed secret fields support single-line values only. Store the private key in your Google Secret Manager project. Create a Secret Variable such as
SFTP_PRIVATE_KEYthat references it.
SFTP_KEY_PASSPHRASE.
Request the integration
Send these non-secret details through the Support Center:Verify the first delivery
After a workflow run completes, open the base directory in your SFTP client.- Confirm that each selected format has one data file for the run.
- Ignore data files that end in
.part. These files are incomplete and can remain after an interrupted delivery. - Confirm that each data file’s row count matches the same run in the dashboard.
- Run the workflow again. With the default path template, confirm that the new run has a new directory.