Form LMS can upload a scheduled report to an SFTP server after every run. Use this when another system needs the report data without anyone downloading it by hand.
✅ Before you start: You need the Site Admin or Admin role. You'll also need the host, directory and sign-in details from whoever runs the SFTP server.
Set up SFTP delivery
- Go to Reports → Reports.
- Click the three-dot menu next to the report and select Edit schedule.
- Set how often the report runs. Deliver to SFTP server stays greyed out while the schedule is set to Never.
- Tick Deliver to SFTP server.
- Enter the Host. Change the Port if the server does not use 22.
- Remote path: enter the directory the report files upload into, such as /inbound/reports.
- Username: enter the account Form signs in with.
- Under Authentication, choose Password or SSH key, then enter the credential.
- Click Test connection.
- Click Save schedule.
A successful test reads Connection successful - the path is writable. If it fails, a Connection failed message gives the reason from the server.
ℹ️ Note: Test connection stays greyed out until you have entered a host, a username, and a password or key. A successful test confirms Form can write to the remote path.
⚠ Warning: Report data lands on a server outside Form. Anyone who can read that directory can open the file. Check who has access before you send learner data there.
Choose the credential type
Form stores the password or key server-side when you save, and never shows it again. A saved schedule reads Credential saved. It is never shown again. Click Replace credential to enter a new one.
- Password: the password for the SFTP account.
- SSH key: paste the private key. Form supports RSA, ECDSA and Ed25519 keys in PEM or OpenSSH format.
ℹ️ Note: Passphrase-protected SSH keys are not supported. Use a key without a passphrase, or choose Password instead.
Choose the file name
Under File name format, pick how each uploaded file is named. Every file ends in .csv.
- Default: uses the report name, date and time.
- Custom: build your own name from letters A-Z, numbers, hyphens, underscores and the tags below the field.
Click Report name, Date or Time to add a tag. Each tag can be used once. A custom name must include a date or time tag, so each run does not overwrite the file before it.
Check File name preview in the Schedule preview panel to see the name the next run will use.
Get told when a delivery fails
Enter an address in Delivery notification email to be told whether each upload succeeded. This is usually the person who owns the integration rather than someone who reads the report.
Leave it blank and no delivery email is sent. The run history still records what happened.
Check what was delivered
- An upload icon on a report row means every run is uploaded to an SFTP server.
- Click a report row to expand its run history. The Delivery column shows the status of each upload.
- A delivered run shows the time, the file name on the server, and the number of attempts.
- Click Retry next to a failed run to upload it again.
Something not working?
Test connection is greyed out. Enter a host, a username, and a password or key first.
The connection failed. Check the host and port are reachable, the remote path exists, and the account can write to it.
Your key is rejected. Check the format, and that the key has no passphrase.
A run shows a failed delivery. Fix the problem on the server, then click Retry on that run.
ℹ️ Still stuck? Contact your organisation's LMS administrator, or raise a support ticket.