Slack Notifications
The Slack plugin posts ops alerts into the Slack channels you configure. It's the fastest way to get real-time visibility into your fleet without staring at the dashboard.
What it sends
Out of the box, the plugin can post messages for any of these events:
| Event | When it fires |
|---|---|
vehicle.offline | A vehicle stops reporting telemetry for >15 minutes |
vehicle.battery_low | A vehicle's battery drops below your configured threshold |
zone.violation | A ride enters or stays in a restricted zone |
support.ticket_created | A new rider support ticket is opened |
customer.kyc_completed | A new rider passes KYC (optional, often noisy) |
customer.suspended | A rider account is suspended |
payment.refunded | A refund is processed |
payout.completed | A partner payout completes |
You pick which events to subscribe to during install.
Setup
You need: a Slack workspace and permission to install Slack apps in it.
Open the marketplace
Dashboard → Marketplace → search "Slack" → Install.
Grant permissions
Slack requests read:rides, read:vehicles, read:zones. No admin-class scopes — no amber confirmation needed.
Connect Slack workspace
Click Connect to Slack. You'll be redirected to Slack's OAuth screen. Approve the app, choose the workspace, and you'll be redirected back to Levy.
Pick a default channel
Choose the Slack channel where alerts will post if no per-event override is set. We recommend creating a dedicated #levy-ops channel.
Configure per-event routing
For each event, either accept the default channel or pick a different one. Example:
vehicle.battery_low→#fleet-chargingsupport.ticket_created→#rider-support- everything else →
#levy-ops
Confirm and install
Free, no charge.
Message format
Each alert is a formatted Slack message with the event name, timestamp, key facts, and a link back to the dashboard.
Example for vehicle.battery_low:
:battery: Vehicle V-1284 battery low — 18%
Model: OKAI ES400B • Zone: Downtown Core
Last seen: 2 min ago at 33rd & Mission
[Open vehicle →]
You can't customize message templates in v1. Custom templates are planned for v4.
Filters and noise control
Two ways to reduce noise:
- Subscribe to fewer events — disable any event type you don't care about in plugin config.
- Per-event filters — for
vehicle.battery_low, you can set the battery threshold (default 20%) and limit alerts to specific vehicle types.
For very high-volume fleets, route low-severity events (customer.created, payment captures) to a separate #levy-firehose channel and keep your primary ops channel for high-severity events only.
Multiple Slack workspaces
If your team uses multiple Slack workspaces, install the plugin once per workspace. Each install carries its own OAuth token and channel config. You'll see one row per workspace in Settings → Plugins.
Pricing
Slack notifications are free. The plugin is built and maintained by Levy directly — no platform fee applies because there's no vendor payout.
Troubleshooting
| Symptom | Fix |
|---|---|
| No messages arriving | Check the plugin status in Settings → Plugins. If status is Failing, your Slack OAuth token may have been revoked — reinstall to refresh. |
| Messages in wrong channel | Open the plugin gear → Configure → Per-event routing |
| Bot can't post to private channel | Add the Levy Slack bot to the channel manually (/invite @LevyFleets) |
| OAuth callback errors during install | Check that you have admin rights on the Slack workspace. Free Slack workspaces have a 10-app limit — you may need to uninstall something. |
What's next
- Zapier integration — for richer automation beyond Slack
- Configuring a plugin — change channels and filters