Automation and integrations
Once connections work you can run transfers on a timer, chain steps together and tell other systems what happened.
Schedules
A schedule runs a transfer on a cron expression with five fields, for example 0 2 * * 1-5 for 02:00 on weekdays. You can filter files by name pattern, set how many files move in parallel, and set retries with a delay. Schedules need the Business or MSP plan.
Workflows
A workflow chains steps. The step types are:
transfer: move files between two connections.process: find and replace in file contents or names, zip, or unzip.condition: continue only if the previous step's file count, size or status matches.webhook: send an HTTPS POST with JSON to another system.
A failed step fails the run and skips the later steps. A false condition skips the remaining steps and the run still completes. Webhook steps send a POST; they are not signed.
File arrival from Azure Blob Storage
Azure Event Grid can tell xEvolve that a blob arrived, so a workflow starts without polling. Event Grid validation and BlobCreated events are supported, and the endpoint needs a token.
Webhooks
- Open Webhooks and add an HTTPS URL. Private and internal addresses are refused.
- Choose the events and save. Use the test button to send a test event.
- Verify each delivery with the
X-Webhook-Signatureheader, an HMAC-SHA256 of the payload made with your webhook secret.
Today xEvolve sends file.uploaded, transfer.completed and transfer.failed. Other event names can be subscribed to but are not sent yet. A failed delivery is counted on the webhook and is not retried.
PGP encryption
Import a partner's public key to encrypt files before delivery, or import your own key pair to decrypt files that arrive. Private keys are encrypted at rest and are loaded only while a transfer runs. Keys you generate in xEvolve use the newer OpenPGP v6 format, which GnuPG cannot import yet. If a partner uses GnuPG, create the key with gpg and import it into xEvolve.
Share links
Share a file with a link that can expire after a number of hours and can allow a set number of downloads. An expired or used-up link answers HTTP 410. Every access is written to the audit log.