Skip to main content

Notifications

Configure real-time notifications to stay informed when flaky tests are detected or fixes are generated.

Overview​

UnfoldCI supports notifications via:

  • Slack — Team channels and direct messages
  • Discord — Server channels
  • Microsoft Teams — Channel connectors

Notifications are configured per installation, meaning all repositories under your GitHub App installation share the same notification settings.

Configuring Notifications​

Access Settings​

  1. Sign in to app.unfoldci.com
  2. Click Settings in the dashboard header
  3. Scroll to the Notifications section

Enable Notifications​

Toggle the main switch to enable or disable all notifications. When disabled, no notifications are sent regardless of individual platform settings.

Slack Integration​

Creating a Webhook​

  1. Go to your Slack workspace settings
  2. Navigate to Apps → Manage → Custom Integrations
  3. Select Incoming Webhooks
  4. Click Add to Slack
  5. Choose a channel for notifications
  6. Click Add Incoming Webhooks Integration
  7. Copy the Webhook URL

Webhook URL Format​

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Adding to UnfoldCI​

  1. Paste the webhook URL in the Slack field
  2. Click Save
  3. Click the Send icon to test the connection

Slack Notification Example​

🔍 Flaky Test Detected

Repository: your-org/your-repo
Test: should handle async operations correctly
File: src/tests/async.test.ts

Flake Score: 0.73
Root Cause: Race condition in async state update

View in Dashboard →

Discord Integration​

Creating a Webhook​

  1. Open Discord and navigate to your server
  2. Right-click the channel → Edit Channel
  3. Go to Integrations → Webhooks
  4. Click New Webhook
  5. Configure the webhook name and avatar (optional)
  6. Click Copy Webhook URL

Webhook URL Format​

https://discord.com/api/webhooks/1234567890123456789/abcdefghijk...
Legacy URLs

Older webhooks may use discordapp.com. Both formats are supported.

Adding to UnfoldCI​

  1. Paste the webhook URL in the Discord field
  2. Click Save
  3. Click the Send icon to test the connection

Discord Notification Example​

Notifications appear as embedded messages with:

  • Color-coded severity indicator
  • Test name and repository
  • Flake score and root cause
  • Direct link to dashboard

Microsoft Teams Integration​

Creating a Webhook​

  1. Open Microsoft Teams
  2. Navigate to the target channel
  3. Click the ... menu → Connectors
  4. Search for Incoming Webhook
  5. Click Configure
  6. Provide a name and optional image
  7. Click Create
  8. Copy the webhook URL

Webhook URL Format​

https://outlook.office.com/webhook/GUID@GUID/IncomingWebhook/...

Or newer format:

https://your-org.webhook.office.com/webhookb2/GUID@GUID/IncomingWebhook/...

Adding to UnfoldCI​

  1. Paste the webhook URL in the Microsoft Teams field
  2. Click Save
  3. Click the Send icon to test the connection

Teams Notification Example​

Notifications appear as Adaptive Cards with:

  • Header with UnfoldCI branding
  • Test details section
  • Action button to view in dashboard

Notification Events​

Configure which events trigger notifications:

EventDescription
Flaky Test DetectedWhen a test is first identified as flaky
AI Analysis CompleteWhen AI finishes analyzing a flaky test
Fix PR CreatedWhen an automated fix PR is created
Fix PR MergedWhen a fix PR is successfully merged

Configuring Events​

  1. In the Notifications section, locate Notify me when
  2. Check the events you want to receive notifications for
  3. Changes save automatically

For most teams, we recommend enabling:

  • ✅ Flaky Test Detected — Be aware of new issues
  • ✅ Fix PR Created — Know when action is needed
  • ✅ Fix PR Merged — Track successful fixes

Optional:

  • ⬜ AI Analysis Complete — Useful for debugging, can be noisy

Testing Notifications​

After configuring a webhook:

  1. Click the Send (paper plane) icon next to the platform
  2. A test notification is sent to verify the connection
  3. Check your channel for the test message

If the test fails:

  • Verify the webhook URL is correct
  • Ensure the webhook is still active
  • Check channel permissions

Troubleshooting​

Notifications Not Appearing​

  1. Verify webhook is active — Webhooks can be deleted from the platform
  2. Check channel permissions — Ensure the webhook has permission to post
  3. Test the connection — Use the test button in settings
  4. Verify events are enabled — Check the event checkboxes

Invalid Webhook URL Error​

Common causes:

  • Extra whitespace — Copy the URL without leading/trailing spaces
  • Incomplete URL — Ensure the entire URL is copied
  • Expired webhook — Recreate the webhook on the platform

Duplicate Notifications​

This can occur if:

  • Multiple installations have the same webhook configured
  • The same event is triggered multiple times

Rate Limiting​

UnfoldCI respects platform rate limits:

  • Slack: 1 message per second per webhook
  • Discord: 30 requests per minute per webhook
  • Teams: 4 messages per second per connector

If rate limited, notifications are queued and sent when possible.

Security Considerations​

Webhook Security​

  • Keep URLs private — Webhook URLs should be treated as secrets
  • Rotate periodically — Regenerate webhooks if compromised
  • Limit scope — Use dedicated channels for automated notifications

Data in Notifications​

Notifications include:

  • Repository name
  • Test name and file path
  • Flake score and root cause category
  • Dashboard links

Notifications do not include:

  • Source code content
  • Error message details
  • Personal information

Best Practices​

Channel Organization​

  • Create a dedicated #ci-alerts or #test-health channel
  • Keep automated notifications separate from discussion channels
  • Use thread replies for follow-up discussions

Notification Hygiene​

  • Start with fewer events, add more as needed
  • Disable noisy events if they reduce signal
  • Review notification settings periodically

Team Workflow​

  • Assign ownership for triaging flaky test alerts
  • Establish SLA for reviewing AI-generated PRs
  • Use fix merge notifications to celebrate improvements

Next Steps​