Documentation

Learn how to architect your data pipeline in minutes.

Webhooks

Receive real-time notifications when files are processed. Stop polling buckets and start building event-driven pipelines.

Developer Note: Webhooks are fired immediately after a file transfer finishes, regardless of whether it succeeded or failed.

The Payload

We send a HTTP POST request to your configured URL with a JSON payload. The Content-Type header is always application/json.

Example PayloadJSON
{
  "event": "file.status_changed",
  "timestamp": "2024-03-15T10:30:00.000Z",
  "data": {
    "pipe_id": "pip_123456789",
    "file_id": "fil_987654321",
    "filename": "invoice_2024.pdf",
    "status": "transferred",
    "size": 1048576,
    "sender": "client_abc",
    "protocol": "sftp",
    "destinations": [
      {"destinationId": "dst_111222333", "status": "transferred"},
      {"destinationId": "dst_444555666", "status": "transferred"}
    ]
  }
}

Integrations & Workflows

Zapier Automation

Connect your file pipelines to 6,000+ apps without writing code.

  • Slack/Discord: Send team alerts when a critical dataset arrives.
  • Email: Notify stakeholders of successful transfers.
  • CRM: Log file receipt activities automatically.
How: Create a Zap using the "Webhooks by Zapier" trigger (Catch Hook) and paste the URL into Rilavek.

n8n Workflows

Build complex, self-hosted automation workflows for enterprise data processing.

  • AI Analysis: Pipe incoming PDFs directly to LLMs for extraction.
  • Database: Sync metadata to Postgres/SQL immediately.
  • Complex Logic: Branch workflows based on file naming conventions.
How: Use the "Webhook" node in n8n, set Method to POST, and use the generated Production URL.

Security & Verification

To ensure requests are actually coming from Rilavek, we sign every request using the Secret Key you configured in the dashboard.

1. The Signature Header

Look for the X-Rilavek-Signature header. It contains a HMAC-SHA256 hash of the raw request body, hex-encoded.

2. View Example Implementation

Best Practices

  • Idempotency: Use file_id to ensure you don't process the same event twice (though we try to only send once).
  • Timeouts: Respond to the webhook quickly (within 10s). If your processing takes longer, queue the job and respond 200 OK immediately.
  • Security: Always verify the signature if you are taking sensitive actions based on these events.