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