Back to blog

How to Get Alerts When File Transfers Fail

Get instant alerts when SFTP/FTP transfers fail. Set up PushFTP's Transfer Failed trigger in Zapier.

·5 min read

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:

  1. In Zapier, search for PushFTP
  2. Click Connect
  3. 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:

  1. Trigger app: PushFTP
  2. Trigger event: Transfer Failed
  3. 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.

Ready to automate your file transfers?

Connect to any SFTP, FTP, or S3 server from a fixed IP address. Free plan available — no credit card required.