TestKase Docs
Integrations

Webhook Integration Guide

Set up real-time notifications to keep your team informed about test activities across Slack, Discord, Teams, Google Chat, or any custom endpoint.

Overview

TestKase webhook notifications deliver real-time updates about your testing activities directly to your team's communication channels. When events occur -- like a test case being created, a test cycle completing, or a bulk execution finishing -- TestKase sends a formatted notification to the webhook URL you configure.

Real-time delivery

Notifications sent instantly when events occur

5 platforms supported

Slack, Discord, Teams, Google Chat & Custom

9 event types

Cover test cases, cycles, plans & executions

Auto-retries

Up to 5 retry attempts with exponential backoff

Prerequisites

Before setting up webhook notifications, make sure you have:

  1. A TestKase account with an active project
  2. Admin or project-level permissions to manage notification integrations
  3. A webhook URL from your target platform (see setup guides below)

Platform Setup Guides

Follow the guide for your platform to obtain a webhook URL. TestKase automatically formats notifications for each platform.

SlackSlack

  1. Go to api.slack.com/apps and click Create New App -> From scratch.
  2. Name your app (e.g. "TestKase Notifications") and select your workspace.
  3. Navigate to Incoming Webhooks in the sidebar and toggle it On.
  4. Click Add New Webhook to Workspace, select the target channel, and authorize.
  5. Copy the generated Webhook URL.

Your Slack webhook URL will look like: https://hooks.slack.com/services/T00000/B00000/XXXXXXXX

DiscordDiscord

  1. Open Discord and navigate to your target channel.
  2. Click the gear icon (Edit Channel) -> Integrations -> Webhooks.
  3. Click New Webhook, give it a name (e.g. "TestKase"), and optionally set an avatar.
  4. Click Copy Webhook URL.

Your Discord webhook URL will look like: https://discord.com/api/webhooks/000000/XXXXXXXX

TeamsMicrosoft Teams

  1. In Microsoft Teams, navigate to the target channel.
  2. Click the ... menu -> Connectors (or Workflows in new Teams).
  3. Search for Incoming Webhook and click Configure.
  4. Give the webhook a name and optionally upload an icon, then click Create.
  5. Copy the generated Webhook URL.

Your Teams webhook URL will look like: https://outlook.office.com/webhook/... or https://your-org.webhook.office.com/...

Google ChatGoogle Chat

  1. Open the Google Chat space where you want notifications.
  2. Click the space name at the top -> Apps & integrations.
  3. Click Webhooks -> Add webhook.
  4. Enter a name (e.g. "TestKase") and optionally set an avatar URL, then click Save.
  5. Copy the generated Webhook URL.

Your Google Chat webhook URL will look like: https://chat.googleapis.com/v1/spaces/XXXXX/messages?key=...&token=...

Custom Webhook

You can send notifications to any HTTPS endpoint that accepts POST requests with a JSON body. This is useful for integrating with monitoring tools, custom dashboards, or internal systems.

TestKase will send a JSON payload in the following format:

{
  "event": "test_case.created",
  "timestamp": "2026-03-01T12:00:00Z",
  "project": {
    "id": "PRJ-123",
    "name": "My Project"
  },
  "data": {
    "id": "TC-456",
    "title": "Login page validation",
    "createdBy": "john@example.com"
  }
}

Your endpoint must respond with a 2xx status code within 10 seconds, or the delivery will be marked as failed and retried.

Configure in TestKase

Once you have your webhook URL, follow these steps to connect it in TestKase:

Connect a New Webhook

  1. Log in to TestKase and open your project dashboard.
  2. Navigate to Notification Integration from the sidebar.
  3. Click Connect on the platform card you want to set up (Slack, Discord, Teams, Google Chat, or Custom).
  4. Enter a name for the integration (e.g. "#engineering-alerts").
  5. Paste the webhook URL you copied from your platform.
  6. Select the events you want to be notified about.
  7. Click Save. TestKase will validate the URL and create the integration.

Edit an Existing Integration

Click the Edit button on any connected integration card to update the name, URL, or subscribed events. Changes take effect immediately.

Reset / Disconnect

To disconnect an integration, click the Reset button on the integration card. This will stop all notifications to that webhook. You can reconnect at any time.

Events Reference

TestKase supports the following webhook events. You can subscribe to any combination when configuring your integration.

EventDescription
test_case.createdNew test case created in the project
test_case.deletedA test case was deleted from the project
test_cycle.createdNew test cycle created
test_cycle.deletedA test cycle was deleted
test_cycle.completedAll executions in a test cycle have finished
test_plan.createdNew test plan created
test_plan.deletedA test plan was deleted
test_plan.completedA test plan was marked as complete
test_execution.completedA bulk execution run has finished

Delivery & Retries

TestKase tracks the delivery status of every notification:

StatusMeaning
PendingNotification is queued for delivery
DeliveredSuccessfully delivered (received 2xx response)
FailedDelivery attempt failed, will be retried
ExhaustedAll retry attempts have been used
CancelledDelivery was cancelled (e.g. integration was reset)

Retry Schedule

When a delivery fails, TestKase automatically retries up to 5 times with exponential backoff:

AttemptDelay
Retry 11 min
Retry 25 min
Retry 330 min
Retry 42 hr
Retry 58 hr

Each delivery attempt has a 10-second timeout. If your endpoint does not respond within 10 seconds, the attempt is marked as failed.

Troubleshooting

Common questions and solutions for webhook integration issues:

I'm not receiving any notifications

Check these common causes:

  • Verify the webhook URL is correct and the integration is connected (not reset).
  • Make sure you've subscribed to the correct events.
  • Check if the platform channel still exists and hasn't been archived.
  • Look at the integration card in TestKase for any error indicators.
I see an 'HTTPS required' error

TestKase requires all webhook URLs to use HTTPS for security. Plain HTTP URLs (http://) are not accepted. If you're testing locally, use a tunneling service like ngrok to get an HTTPS URL.

My URL is being blocked (SSRF protection)

TestKase blocks webhook URLs that resolve to private/internal IP addresses (e.g. 127.0.0.1, 10.x.x.x, 192.168.x.x) to prevent SSRF attacks. Use a publicly-accessible URL for your webhook endpoint.

Notifications stopped after multiple failures

After 5 consecutive failed delivery attempts, the notification status becomes "exhausted" and no further retries are attempted for that specific notification. New events will still trigger new delivery attempts. If your endpoint was temporarily down, notifications will resume automatically for new events once it's back online.

How can I test without triggering real events?

Create a test project and perform actions like creating a test case or test cycle. These will trigger real notifications to your webhook, letting you verify the setup works end-to-end.

What format are notifications sent in for each platform?

TestKase automatically formats notifications for each platform:

  • Slack -- Block Kit format with rich text sections
  • Discord -- Embed format with colored sidebars
  • Teams -- Adaptive Card format
  • Google Chat -- Card v2 format
  • Custom -- Raw JSON payload (see example above)