When Transfers Break Silently
File transfers fail. Networks hiccup, credentials expire, disks fill up, servers restart. The worst part isn't the failure — it's not knowing about it. If an invoice didn't upload to your SFTP server, how long until someone notices? Hours? Days?
PushFTP's Transfer Failed trigger in Zapier fires the moment a transfer goes wrong. You get an alert, you fix it, you move on. No silent failures.
What You Need
- A PushFTP account with at least one connection (sign up free)
- A Zapier account
- Somewhere to send alerts (email, Slack, webhook, etc.)
Step 1: Connect PushFTP to Zapier
If you haven't already, add PushFTP to your Zapier account:
- In Zapier, search for PushFTP
- Click Connect
- Paste your API key from the PushFTP dashboard
Your API key is under Settings → API Keys. Need help? Check the getting started guide.
Step 2: Create a Failure Alert Zap
Create a new Zap with PushFTP's Transfer Failed trigger:
- Trigger app: PushFTP
- Trigger event: Transfer Failed
- Account: Your PushFTP account
The trigger fires whenever any transfer on your account fails. The event payload includes:
{
"transfer_id": "tx_abc123",
"connection_id": "conn_xyz",
"connection_name": "Production SFTP",
"operation": "upload",
"path": "/incoming/report.csv",
"error": "Connection refused: host unreachable",
"failed_at": "2025-01-15T14:30:00Z"
}
You get the connection name, what operation failed, the file path, and the error message. Everything you need to diagnose the issue.
Step 3: Route the Alert
Now decide where the alert goes. Here are the most useful patterns:
Email Alert
Trigger: PushFTP → Transfer Failed
Action: Gmail → Send Email
To: [email protected]
Subject: ⚠️ PushFTP Transfer Failed: {{connection_name}}
Body: Transfer {{transfer_id}} failed on {{connection_name}}.
Operation: {{operation}}
Path: {{path}}
Error: {{error}}
Time: {{failed_at}}
Webhook to Your Backend
Trigger: PushFTP → Transfer Failed
Action: Webhooks by Zapier → POST
URL: https://your-api.com/webhooks/transfer-failed
Payload: (map all trigger fields)
Google Sheets Log
Trigger: PushFTP → Transfer Failed
Action: Google Sheets → Create Spreadsheet Row
Spreadsheet: Transfer Failure Log
Columns: Date, Connection, Operation, Path, Error
Pick whatever works for your team. The point is visibility.
Step 4: Test the Alert
The easiest way to trigger a failure: temporarily change your SFTP password in PushFTP to something wrong, then run a transfer. PushFTP will fail to authenticate, the Transfer Failed trigger fires, and your alert Zap runs.
Don't forget to fix the password afterward.
Alternatively, try to upload to a path that doesn't exist on a server that rejects missing directories. The transfer will fail with a "no such file or directory" error.
Building a Failure Recovery Workflow
Alerts are step one. Step two is automated recovery. Here's a more advanced Zap:
Trigger: PushFTP → Transfer Failed
Filter: Only continue if operation = "upload"
Action 1: Delay → Wait 5 minutes
Action 2: PushFTP → Upload File (retry the same file)
Action 3 (on failure): Gmail → Send Email (escalate)
This retries the upload after a 5-minute delay. If the retry also fails, it escalates to email. You're not just monitoring — you're self-healing.
PushFTP connects through a fixed IP address, so intermittent firewall issues are rare. Most failures come from credential changes, disk space, or server-side problems. A simple retry handles transient network issues.
What Failures Look Like
Common failure reasons you'll see:
| Error | Likely Cause |
|---|---|
| Connection refused | Firewall blocking PushFTP's static IP |
| Authentication failed | Wrong password or expired key |
| No such file or directory | Remote path doesn't exist |
| Permission denied | User can't write to that path |
| Connection timed out | Server unreachable or slow |
| Disk quota exceeded | Server storage full |
Each error message tells you exactly what to fix. No guessing.
Monitoring Multiple Connections
The Transfer Failed trigger covers all connections on your account. You don't need a separate Zap per connection. Use Zapier's filter or path features to route alerts differently:
- Production SFTP failures → immediate email
- Dev server failures → log to spreadsheet
- S3 failures → webhook to your monitoring system
Check the Zapier integration docs for filtering examples.
Failure alerts mean you catch problems when they happen, not when a client calls to ask why their invoice never arrived. Set up a Transfer Failed trigger once, and every connection you add is automatically covered.
FAQ
Does the trigger fire for every failed transfer?
Yes. Every failed transfer on your account fires the trigger once. If the same file fails multiple times (retries), each failure generates its own event.
Can I set up alerts without Zapier?
Yes. PushFTP supports webhooks on file events. Configure a webhook URL in your PushFTP dashboard, and PushFTP will POST failure events directly to your endpoint. No Zapier needed. See the API docs for webhook setup.
What's the delay between failure and alert?
Minimal. The trigger fires within seconds of the failure. How fast you receive the alert depends on Zapier's polling interval (typically 1-15 minutes depending on your Zapier plan).
Do transfer failures count against my transfer quota?
Failed transfers do count toward your monthly transfer count on the free plan. On paid plans with unlimited transfers, this doesn't matter.
Don't Fly Blind
Silent failures are the worst kind of bug. A five-minute setup gives you eyes on every transfer across every connection. Whether you route alerts to email, a spreadsheet, or a full incident management system, the important thing is knowing when something breaks — before your users do.