Why channels matter
A saved-search alert that lands in your personal inbox at 6am Sunday is a saved-search alert nobody acts on. The channels you configure determine whether alerts reach the right person at the right time. Manage them at Account → Notification channels; each saved search picks which channels to dispatch through.
What sets an alert off
Most alerts come from a saved search — a new notice matches the filters you saved, and it is dispatched to the channels that search picks. Two do not, and it is worth knowing which, because there is no saved search behind them to check:
- •Tracked suppliers — a company you track is named on a new award notice. Driven by your tracked list, not a search.
- •Framework lots — the lots on live framework agreements that match what your workspace profile says you do. You get one summary when we first match you, then a note when a new matching lot is published or an agreement opens to new suppliers. Off by default like every other alert here — switch them on from the matches panel on Frameworks. Driven by your profile, so you need one written before there is anything to send.
Channel comparison
Four delivery channels, each with its own strengths. Pick the ones that match how your team actually works.
Setup: none — uses your account address. Best for high-signal, low-volume alerts and an audit trail. Watch out for slow reaction time on weekends.
Slack
Setup: ~5 min — install webhook app, paste URL. Best for real-time team triage. Watch out for noise if volume creeps up.
Microsoft Teams
Setup: ~5 min — Power Automate Workflows in Teams. Best for teams already on Microsoft 365. Watch out for the Workflows UI that changes occasionally.
Webhook
Setup: requires you to host an HTTPS receiver. Best for CRM sync and custom automation. Watch out for operational overhead — you maintain the receiver.
Setting each one up
Default channel; one address per row, up to five rows per account. The first one is seeded from your account email at signup. Add team-distribution addresses (e.g. bids@yourorg.co.uk) so a search dispatches to the whole desk rather than one inbox.
Slack
Per-user incoming webhook URL. To set one up:
-
1
In Slack, go to your workspace's Apps directory and search for "Incoming Webhooks".
-
2
Install it; pick the channel that should receive the alerts (a dedicated
#bid-alertsbeats#general). -
3
Slack gives you a webhook URL like
https://hooks.slack.com/services/TXXX/BXXX/.... Paste it into your notification settings.
We validate the URL against the Slack hostname allowlist — no other URL shape is accepted, so the platform can't be repurposed as an SSRF proxy.
Microsoft Teams
A per-channel webhook, via Power Automate Workflows — Microsoft retired the old Teams "Incoming Webhook" connector, so this is the current, supported way.
-
1
In Teams, click the … next to the channel → Workflows (or open Power Automate and create a flow).
-
2
Choose the template "Send webhook alerts to a channel", pick the team and channel, then save.
-
3
Workflows gives you a webhook URL on
*.logic.azure.com(or*.powerplatform.com). Paste it into your notification settings — we post a ready-made Adaptive Card, so there's nothing else to configure in the flow.
Signed HTTPS webhooks
Generic webhook delivery to an HTTPS endpoint you control — useful for piping alerts into a CRM (HubSpot / Salesforce custom inbound), a Jira / Linear automation, or a homegrown alert router.
Payloads are JSON with a stable shape per event type. Your receiver verifies the X-DataScene-Signature header to confirm authenticity. We retry on 5xx with exponential backoff; 4xx is treated as fatal.
Per-search routing patterns
Each saved search picks its own channel set. Common patterns we see:
High-value alerts
Slack + email
Fast triage in chat, durable record in email.
Batched digest
Email only
One email per search per run, listing every new match together — quieter than a Slack ping per notice.
CRM ingestion
Webhook only
No human reads it; the CRM is the surface.
Critical accounts
All four channels
A bid you can't afford to miss should be redundant.
Testing
Every saved search has a Send test button on the list page. It dispatches a synthetic message to every configured channel and shows the per-channel result. Use it after adding a Slack webhook to confirm the URL points where you expect.
Webhook security
Webhook URLs are encrypted at rest (AES-256-GCM). The plaintext is decrypted in-memory at dispatch time and never logged. Team members within your workspace don't see each other's webhook URLs — only a short display hint like hooks.slack.com/T123….