Skip to content

Notification events

BattleTest sends notifications on a fixed catalog of events. Each event belongs to one of seven categories and has a default set of channels it is delivered on. You can override the channels per event from Settings → Notifications; to change them, see How to configure notifications.

Channel Delivery
Email Sent to your account email address from [email protected]
Push Browser push (requires granting notification permission)
In-app The notification bell in the dashboard

In the tables below, ✓ marks a channel that is on by default. A ✓ 🔒 channel is required: it is always on and cannot be turned off, because the event is money- or security-critical and must not be silently missed.

Automated security reviews on your pull requests and merge requests.

Event Fires when Email Push In-app
PR review completed A pull-request security review finished ✓
PR review failed A review couldn’t complete and needs a retry ✓ ✓
PR reviewed in basic mode Your advanced-review limit was hit, so the PR got a basic scan instead of the full agentic review ✓ ✓
PR not reviewed — limits reached A PR was skipped because all review limits were exhausted ✓ ✓
Approaching PR review limit You’re near your monthly advanced-review limit ✓

Active security assessments against your domains.

Event Fires when Email Push In-app
Battletest completed A live security assessment finished ✓ ✓
Battletest failed A scan couldn’t complete ✓ ✓
Vulnerability found A critical or high-severity issue was confirmed ✓ ✓ ✓
Security report ready Your full assessment report is ready to view ✓ ✓
Battletest needs your approval A scan is paused waiting for you to approve an exploit-gated step ✓ ✓ ✓
Approval granted — scan resumed An exploit-gated step you approved has resumed ✓
Battletest stopped at your request You declined an exploit-gated step; the scan stopped with findings gathered so far ✓
Approval rejected An approval request was rejected ✓
Monthly battletest limit reached You’ve used all the battletest runs available to you this cycle ✓ ✓
Approaching battletest limit You’re near the monthly battletest run limit ✓
Scheduled run skipped A scheduled battletest didn’t run (a lost DNS verification, or the monthly battletest cap was reached) ✓ ✓
Scheduled run couldn’t start A scheduled battletest failed to launch ✓ ✓

Payment, add-on, and self-hosted licence events. Most fire only for accounts with existing billing records; the licence events fire during a self-hosted deployment purchase.

Event Fires when Email Push In-app
Payment failed We couldn’t charge your card ✓ 🔒 ✓
Past due An outstanding balance moved the account to past due ✓ 🔒 ✓
Payment received A payment went through ✓
Plan changed The plan on the account changed and new limits are in effect ✓ 🔒 ✓
Change scheduled A change or cancellation is scheduled for the end of the billing period ✓ ✓
Cancelled Billing was cancelled; access ends at the period end ✓ 🔒 ✓
Refund issued A refund was issued to your payment method ✓ ✓
Card expiring Your saved card is expiring ✓ ✓
Payment method removed The card on file was removed while billing was still active ✓ ✓
Add-on added An add-on was added to your subscription ✓ ✓
Add-on removed An add-on was removed ✓
Licence request staged A completed payment is waiting for a self-hosted licence to be signed and delivered ✓ ✓
Licence key issued Your self-hosted licence key was issued and sent to you ✓ ✓

Sign-in, password, and account-security events.

Event Fires when Email Push In-app
Password changed Your account password was changed ✓ 🔒 ✓
Email address changed Your account email was changed (also sent to your previous address) ✓ 🔒 ✓
New sign-in A new sign-in from a new device or location ✓ ✓
Welcome A welcome message when you create your account ✓
Email verified Your email address was verified ✓
Account deleted Confirmation that your account was deleted ✓ 🔒
API key created A new API key was created on your account ✓ ✓
API key revoked An API key was revoked ✓ ✓
Could not save a review to your storage A bring-your-own-storage export failed ✓ ✓

Membership, roles, and org changes.

Event Fires when Email Push In-app
Your role changed Your role in an organization was changed ✓ ✓
Removed from organization You were removed from an organization ✓ ✓
Organization deleted An organization you belonged to was deleted ✓ ✓
Invitation received You were invited to an organization ✓ ✓
Invitation accepted Someone you invited joined your organization ✓
Ownership transfer An organization ownership transfer was offered or completed ✓ ✓

GitHub and domain verification.

Event Fires when Email Push In-app
GitHub account linked A GitHub account was linked to your BattleTest account ✓ ✓
GitHub account unlinked A GitHub account was disconnected ✓ ✓
GitHub connected to org A GitHub installation was connected to an organization ✓
GitHub disconnected from org A GitHub installation was removed from an organization ✓ ✓
GitHub App suspended The BattleTest GitHub App was suspended; reviews are paused ✓ ✓
GitHub App uninstalled The BattleTest GitHub App was removed from an account ✓ ✓
Domain verified A domain passed DNS ownership verification ✓
Domain verification lost A domain’s DNS verification record is missing; scans are paused ✓ ✓

Access requests and invitations for the live run room. These are time-sensitive: a run is in flight while someone waits to be let in, so the two that block a person default to push as well.

Event Fires when Email Push In-app
Someone asked to join a run room A person with the link requested access to a run you can admit them to ✓ ✓ ✓
You were added to a run room Your request to join a run room was approved ✓ ✓
Someone asked to steer a run A watcher asked for permission to steer a live run ✓ ✓ ✓
Your run access was upgraded You were granted a higher level of access in a run room ✓ ✓
You were invited to a run room Someone invited you to watch or steer a run ✓ ✓