Skip to main content
Set up Slack and PagerDuty integrations to receive notifications when assertion incidents occur in your Credible Layer projects.

Accessing Integration Settings

  1. Navigate to your project in the Credible Layer dashboard
  2. Go to Settings in the navigation bar
  3. Select Slack or PagerDuty from the “Integrations” section
Adding Notification Integration

Adding Notification Integration

Slack Integration

The Slack integration sends formatted incident notifications to a channel of your choice using Slack’s Incoming Webhooks.
1

Create a Slack App

  1. In the Credible Layer Settings page, click Create a Slack App
  2. This opens Slack’s app creation page with a pre-filled manifest. No manual configuration needed
  3. Select the workspace where you want to receive notifications
  4. Click Create
2

Enable Incoming Webhooks

  1. In your newly created Slack app, go to Features → Incoming Webhooks
  2. Toggle Activate Incoming Webhooks to On
  3. Click Add New Webhook to Workspace
  4. Select the channel where you want incident notifications
  5. Click Allow
3

Copy the Webhook URL

After authorizing, you’ll see your new webhook URL:
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Copy this URL.
4

Configure in Credible Layer

  1. Return to Credible Layer Settings → Slack tab
  2. Paste your webhook URL in the input field
  3. Click Save
5

Test the Integration

  1. After saving, click Send Test Notification
  2. Verify the message arrives in your selected Slack channel

PagerDuty Integration

The PagerDuty integration creates incidents in PagerDuty when assertion violations occur, using the Events API v2.
1

Create a PagerDuty Service Integration

  1. In PagerDuty, navigate to Services → Service Directory
  2. Select an existing service or create a new one
  3. Go to the Integrations tab
  4. Click Add Integration
  5. Search for and select Events API v2
  6. Click Add
2

Get the Integration Key

After adding the integration, you’ll see the Integration Key (also called Routing Key). This is a 32-character alphanumeric string. Copy this key.
Click the PagerDuty Integration Guide button in the Credible Layer Settings page for direct access to PagerDuty’s official documentation.
3

Configure in Credible Layer

  1. Go to Credible Layer Settings → PagerDuty tab
  2. Paste your 32-character routing key in the input field
  3. Click Save
4

Test the Integration

  1. After saving, click Send Test Notification
  2. Verify the incident appears in your PagerDuty service

What Gets Notified

Both integrations send notifications when assertion incidents occur. Notifications include:
  • Project name and affected contract
  • Network/chain information
  • Transaction details (hash, block number)
  • Assertion violation reason
  • Direct link to view the incident in the dashboard

How Incidents Are Grouped

You receive one notification per incident, not per transaction. An incident is defined as an assertion being invalidated within a one-hour time window. If an attacker crafts multiple transactions that all violate the same assertion, these are grouped into a single incident since they represent the same logical attack. After one hour without violations, a new invalidation creates a new incident. This prevents notification spam while ensuring you’re alerted to distinct security events. See Incidents for more details.
This grouping logic is our initial approach and may be refined based on user feedback.

Managing Integrations

Updating a Webhook or Key

Paste a new URL or key and click Save. The old configuration is replaced.

Removing an Integration

  1. Scroll to the bottom of the integration card
  2. Click Remove Integration
  3. Confirm the removal
Removing an integration stops all notifications but does not delete historical data. You can reconfigure at any time.

Troubleshooting

IssueSolution
Slack webhook URL rejectedEnsure the URL starts with https://hooks.slack.com/services/
PagerDuty key rejectedVerify the key is exactly 32 alphanumeric characters
Test notification not receivedCheck that the integration is correctly configured in Slack/PagerDuty
No notifications on incidentsVerify the integration shows as “configured” in Settings

Security

  • Webhook URLs and routing keys are stored securely and never displayed in full after saving
  • Only project managers can configure integrations
  • Test notifications are rate-limited to prevent abuse

Next Steps