VOTPort
Let’s talk
Menu

Set notifications and retention

Keep transfer events visible, control default limits, and understand saved settings and legal holds.

On this page

System settings

Platform administrators can edit notification channels, retention, default quotas, and sign-in options from System. Environment variables supply boot defaults; a saved setting overrides its environment value.

For the settings API, an empty string disables a URL or token, while JSON null removes the saved override so the environment applies again. Optional secret fields are unchanged when left blank and their values are not returned by the UI.

Notifications

Supported channels include Slack, Microsoft Teams, Google Chat, Discord, JSON webhooks, ntfy, Pushover, and SMTP email. Configure the channel in System and opt each request or delivery link into the events its owner needs.

Receive notifications can cover completion and failure. A refused request or transfer interrupted after bytes arrived can notify; a sender's intentional cancellation does not. Delivery links can notify on the first download start and recipient acknowledgment. A download-start message is not proof that a recipient verified or accepted the package.

For SMTP, configure the host, sender, and at least one recipient. Port 465 uses implicit TLS; other configured ports can use STARTTLS. Test the channel through the deployment's supported workflow before depending on it for transfer operations.

Connect workplace notifications

Platform administrators configure each service separately in System > Notifications. Connections apply across tenants. Enable notifications on the relevant receive request or delivery link, then test the saved connection and check that its message appeared in the intended channel.

Service Set up the destination
Slack Create an incoming webhook, choose its channel, and paste its URL into the Slack connection.
Microsoft Teams Create a Workflows webhook for the channel using the Anyone trigger-authentication option. VOTPort sends Adaptive Cards. Add a co-owner so the workflow can survive changes to its owner's account.
Google Chat Create a webhook in the space's Apps & integrations settings. Your Workspace administrator may need to allow incoming webhooks.
Discord Create a webhook in the channel's Integrations settings. VOTPort disables mentions and embeds; an existing thread_id URL parameter is preserved.

Saved webhook URLs are private and are not returned to the browser. Leaving the URL field blank preserves the connection; Disconnect disables it. Use environment removes the override and returns to the corresponding environment setting. Each service's test uses only that saved connection; Test all services also includes configured JSON webhook, ntfy, Pushover, and email channels.

Messages are best effort with no automatic message-retry queue. HTTP channels run concurrently with a 15-second request timeout, alongside email and outside transfer completion. One failing channel does not block the others or change the transfer result. Use signed workflow webhooks for durable attempts and replay when a downstream system must recover missed events.

Environment and operator API

The environment settings are VOTPORT_NOTIFY_SLACK_URL, VOTPORT_NOTIFY_TEAMS_URL, VOTPORT_NOTIFY_GOOGLE_CHAT_URL, and VOTPORT_NOTIFY_DISCORD_URL.

PUT /api/admin/settings accepts notify_slack, notify_teams, notify_google_chat, and notify_discord. A URL saves the connection, an empty string disables it, and null removes the override. Read responses expose each setting's _set and _source, never its URL.

POST /api/admin/notifications/test?channel=slack tests a saved connection; other channel values are teams, google_chat, and discord. Both mutations require a platform administrator session and X-Votport: 1. Treat webhook URLs as credentials and keep them out of shared tickets and logs.

Check a missing workplace message

  1. Open System > Notifications and check the service's connection state and whether it uses saved or environment settings. A saved connection means a URL is configured, not that a message has reached the channel.
  2. Save a replacement URL before testing; tests use the active saved connection, not unsaved text in the form. Use the individual service test to isolate a problem.
  3. Check the destination channel itself. Endpoint acceptance is not proof that the workflow posted where you intended. Confirm channel permissions, Teams workflow ownership, or Google Workspace webhook restrictions as applicable.
  4. Check that notifications are enabled on the specific receive request or delivery link. A working service connection does not opt every link into notifications.
  5. For a missed transfer event, inspect the transfer or workflow status directly. Workplace messages are not automatically replayed; use the durable workflow webhook system for integrations that need retry and replay.
Signal What it tells you
Upload completion The upload reached verified publication; a reception project's checks or destination copies may still be pending.
Download started A recipient began fetching files, not that the complete package was verified or accepted.
Recipient acknowledgment The delivery's acknowledgment event; inspect signed recipient evidence for verification and explicit acceptance.
Workflow destination result Whether that particular copy finished, failed, or will retry. Local release may happen before every destination finishes.

Desktop completion notifications are controlled separately in the macOS or Windows app and by operating-system permissions. They do not configure the port's workplace channels.

Upload retention defaults to keeping content. When configured, the daily sweep removes received files older than the policy and records the action. Audit retention defaults to 400 days.

A link's Legal hold excludes its uploads from automatic content sweeping. It does not disable explicit deletion of files, upload records, links, or tenants. Use appropriate administrative access controls alongside the retention policy.

Audit review

Use Audit to review recorded administrative and transfer events and export them for your operational process. An auditor role can read and export this trail without gaining access to transfer links, files, or System settings.

Retain exported records according to your organization's policy and protect any operational identifiers they contain. Request and delivery tokens should never be copied into broadly shared tickets or documents.

Reliable workflow events

Project jobs have a separate signed event and webhook system with persistent attempts, bounded retries, and replay. Use it for downstream workflow state and missed acceptance deadlines; ordinary notification channels do not replace signed recipient evidence.

Read as Markdown