What you’ll learn
- How to connect the TestDino Slack App via OAuth
- How to configure run summaries with environment-based channel routing
- How to set up annotation-based alerts for specific test failures
How does it work?
- Sends run summaries (status, counts, duration, environment/branch, author, commit).
- Routes notifications by environment to specific channels; unmatched events fall back to a default channel.
- Sends annotation-based alerts when tests with
testdino:notify-slackfail, routed to specific channels or users. - Supports test posts for verification and quick reconfiguration.
Installation & Setup
1. Connect Slack
In Project → Integrations → Slack App, click Connect to Slack and complete the OAuth flow.
After connecting, the Slack App card shows the connected status with your workspace name.
2. Configure channel routing
After connecting, click the ⚙️ icon on the Slack App card to open the Slack Notification Configuration dialog. The Test Run Alerts tab has two sections: Default Channel — Set a fallback channel that receives all test run alerts. Any run that doesn’t match an environment-specific channel is routed here. Environment Channels — Assign specific Slack channels to your project environments (e.g., PROD →#td-prod, STAGE → #td-stage). Runs on mapped environments route to their designated channel instead of the default.
3. Save and test
Click Save Configuration to apply your settings. Use the Test button next to any channel to send a sample message and verify it lands in the correct channel.
Configuration Scenarios
The integration supports both default and environment-based channel configurations, giving you control over how alerts are delivered.1. Default Channel Only
All test run alerts, regardless of the branch or environment, are sent to a single default channel. This is useful for centralizing all notifications.2. Default + Environment-Specific Channels
Alerts for mapped environments (e.g., PROD Alerts) are sent to their designated channel (e.g., #prod-alerts). All alerts from unmapped branches or environments automatically fall back to the default channel (e.g., #daily-updates).Why this helps
- Reduce notification noise by routing alerts to environment-specific channels so teams see only relevant updates.
- Improve incident response by sending critical failure alerts directly to the responsible team’s channel.
- Enable faster triage with real-time summaries that link directly to detailed test evidence.
Annotation-Based Alerts
Beyond run-level alerts, the Slack App can notify specific channels or users when individual tests fail. This is driven by thetestdino:notify-slack annotation in your Playwright test code.
For example, if a test has testdino:notify-slack set to @ashish, and that test fails, TestDino sends a Slack message directly to Ashish. This is different from test run alerts, which fire on every run completion regardless of which tests failed.
How to set it up
- Add a
testdino:notify-slackannotation to your test with a channel (#e2e-alerts) or user (@ashish) as the target. - In the Slack Notification Configuration dialog, switch to the Annotation Alerts tab.
- Map each annotation target to a Slack channel or user from your workspace.
- Save the configuration.
See the Annotations guide for full setup instructions, code examples, and all supported annotation types.
NoteAnnotation-Slack mappings are stored at the integration level. If you disconnect the Slack App, all mappings are deleted and need to be set up again after reconnecting.
How it’s Different from Slack Webhook
The Slack App provides two types of alerts:- Test Run Alerts send environment-aware run summaries when any run completes.
- Annotation-Based Alerts notify specific channels or users when individual annotated tests fail.
Troubleshooting
No messages appearing in Slack
No messages appearing in Slack
- Verify the Slack App is connected in Settings → Integrations → Slack
- Ensure at least one default channel is configured in the Slack Channel Configuration
- Use the Test button in the Slack settings to send a sample message and verify it lands in the correct channel
- Confirm a test run has completed after connecting (messages are sent on run completion)
Private channel not appearing in channel list
Private channel not appearing in channel list
- Private channels require the TestDino app to be added to the channel first. To add it:
- Open the private channel in Slack
- Click the channel name at the top to open channel details
- Go to the Integrations tab → click Add an App
- Search for TestDino. If you have already completed the OAuth connection, it appears under In Your Workspace. If not, it shows results from the Slack Marketplace. Complete the OAuth connection in TestDino first before adding the app to private channels.
- After adding TestDino to the channel, click the Refresh button in the TestDino Slack settings to fetch the updated channel list
- TestDino fetches all channels from your Slack workspace history. Deleted channels are excluded.
Messages going to wrong channel
Messages going to wrong channel
- Check the Environment Alert Channel Mapping in Slack settings. Runs on mapped environments route to their specific channel
- Unmapped environments fall back to the default channel
- Use the Test button to verify which channel receives messages for a given configuration
Annotation alerts not firing
Annotation alerts not firing
- Ensure the test has the
testdino:notify-slackannotation with a valid target (#channelor@user) - Verify the annotation target is mapped to a Slack channel or user in the Annotation Alerts tab
- Annotation alerts only fire when the annotated test fails, not on every run
OAuth connection failed
OAuth connection failed
- Ensure you have permission to install apps in the Slack workspace
- Try removing the TestDino app from Slack → Settings → Manage Apps and reconnecting from TestDino
Annotations Guide
Add metadata and Slack notification targets to tests
Slack Webhook
Single-channel webhook notifications