Webhooks
Get notified after every successful transfer.
How it works
Set a webhook URL on any connection (in the dashboard when creating or editing a connection). After every successful upload or download, PushFTP will POST a JSON payload to your URL.
Payload
{
"event": "transfer.success",
"success": true,
"transfer": {
"id": "abc123",
"filename": "report.csv",
"path": "/uploads/report.csv",
"size": 1234,
"durationMs": 350,
"connection": {
"id": "xyz789",
"name": "Production SFTP",
"type": "sftp"
}
},
"timestamp": "2026-03-31T10:00:00.000Z"
}Use cases
- Trigger a Zap — use "Webhooks by Zapier" as a trigger to start a workflow when a file arrives
- Update a spreadsheet — log every transfer in Google Sheets automatically
- Send a Slack notification — get alerted in your team channel when files land
- Chain file processing — webhook triggers your own API to process the uploaded file
Behavior
- Webhooks are fire-and-forget — they don't slow down the API response
- Retries: 3 attempts with exponential backoff (1s, 2s, 4s) for watched folder triggers
- Only fires on successful transfers