# Slack Webhooks

To send notifications to a Slack workspace, you will first need to [configure a simple Slack application](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack). You can then add the Slack app's incoming webhook URL on the Veza **Integrations** > *Veza Actions* page.

{% hint style="info" %}
The Slack payload is structured and delivered like a standard Veza [webhook](/4yItIzMvkpAvMVFAamTf/administration/administration/notifications/destinations/webhooks.md). When assigning the URL to a rule or workflow event, the Slack webhook name is listed alongside all other configured webhooks.
{% endhint %}

### Create a new Slack app

You will need an [incoming webhook URL](https://api.slack.com/messaging/webhooks), which you can generate by setting up a new Slack app:

1. Create a new app (<https://api.slack.com/apps/new>) by choosing **Build App** > *From Scratch*.
2. Give the app a name and select a workspace, and click *Create App*.
3. On the app settings screen, choose **Incoming Webhooks** > *Enable.* Click "Add New Webhook to Workspace."
4. Pick a channel the webhook will post to, and click *Allow*.
5. Copy the webhook URL.

### Add a Slack Veza Action to Veza

After you have the incoming webhook URL, you can enable notifications:

1. Browse to Veza **Integrations** > *Veza Actions* > *Add Veza Action*
2. Click *Slack* and click *Next*.
3. Add a name and paste the webhook URL from the previous steps.
4. Click *Next* to test the configuration. You should see a sample message in the workspace channel assigned to the Slack app.
5. Click *Create Veza Action* to save it.

### Using Slack Webhooks

Once configured, Slack webhooks post messages to the designated channel when triggered by Veza events.

#### In Access Reviews (Veza Actions)

Slack webhooks can be used as **Veza Actions** to post to channels when specific review decisions are made. See [Veza Actions](/4yItIzMvkpAvMVFAamTf/features/access-reviews/configuration/veza-actions.md) for detailed configuration and payload information.

**Supported Events:**

* **Reassign reviewer** - Notifies when a row is reassigned to another reviewer
* **Approve row** - Notifies when an approved row is signed off
* **Reject row** - Notifies when a rejected row is signed off
* **Complete review** - Notifies when the entire review is marked complete

**To configure:**

1. When creating or editing an Access Review configuration, go to the **Veza Actions** section
2. Enable the events you want to trigger notifications
3. Select your Slack webhook from the dropdown for each event
4. Save the configuration

#### In Rules and Alerts

Slack webhooks can deliver alerts to a Slack channel when saved query rules are triggered. See [Rules and Alerts](/4yItIzMvkpAvMVFAamTf/features/insights/rules-and-alerts.md) for more details on creating and managing rules.

{% hint style="info" %}
Rule alerts post to the Slack channel configured in the webhook. They do not send direct messages to individual users.
{% endhint %}

**To configure:**

1. Create a rule on the **Rules and Alerts** page (accessible from the **Alerts** bell icon in the top toolbar)
2. Under **Actions**, select your Slack webhook
3. The webhook will post to your channel when the rule conditions are met

#### What Gets Posted

Slack webhooks receive the same JSON payload as standard [webhooks](/4yItIzMvkpAvMVFAamTf/administration/administration/notifications/destinations/webhooks.md), formatted for Slack's message format. Messages include:

* Event type and timestamp
* Review or rule details
* Relevant user information
* Links back to Veza for more details

For Access Review events, the payload includes:

* Configuration (`workflow`) and review (`certification`) details
* Full entity information for source and destination nodes
* Decision status and notes for approved/rejected rows
* Accumulated permissions (raw and effective) when available

#### Rule alert messages

When an alert rule fires and the Slack Veza Action is selected as the delivery destination, Veza posts a human-readable summary to the configured channel:

```md
This alert was triggered because the query AWS IAM Roles with S3 update permissions returned 12 results, which exceeded the threshold of 2

Rule Name : slack rule 5
Severity : low
Time Triggered : Apr 17, 2026, 2:13:36 PM UTC
Query Name : AWS IAM Roles with S3 update permissions
Query Source : AWS IAM Role
Query Destination : S3 Bucket
Review Query Results : <https://your-tenant.veza.cloud/app/assessments/f300f690-91c9-4bfd-bd71-eeb399fdce82|AWS IAM Roles with S3 update permissions>

What triggered this alert? See full alert details in Veza: <https://your-tenant.veza.cloud/app/alerts?rule=019d9bc9-19d3-7942-98d0-6da76182baa6&alert_id=019d9bca-3fe5-769a-bfb3-9c8cf30c6ee3|View Alert>
```

#### Remediation messages

When a user remediates a risky query or dashboard, the Slack message looks like:

```md
The query "AWS IAM Roles with S3 update permissions" returned 12 results.

Severity: Medium
Triggered By: Jane Smith
Triggered Time: Apr 17, 2026, 2:21:00 PM UTC
Query Name: AWS IAM Roles with S3 update permissions
Query Source: AwsIamRole
Query Destination: S3Bucket
Query Link: <https://your-tenant.veza.cloud/app/assessments/f300f690-91c9-4bfd-bd71-eeb399fdce82|AWS IAM Roles with S3 update permissions>
Notes: Please review and remove unused permissions by end of sprint.

Please note that you must authenticate to the Veza platform to access the link.
If you have any trouble accessing the link, please contact your Veza administrator.
```

For dashboard remediation, the severity line is omitted and the message references the dashboard name and URL instead.

#### Shared query or dashboard messages

When a user shares a query or dashboard via a Slack Veza Action, the message includes the sharer's name:

```md
*Jane Smith* has shared a query with you.

*Note:* FYI — this query covers the new S3 buckets.

*Query:* <https://your-tenant.veza.cloud/assessments/queries/ghi789|Publicly Accessible S3 Buckets>
*Description:* Identifies S3 buckets with public read or write ACLs.

Please note that you must authenticate to the Veza platform to access the link.
If you have any trouble accessing the link, please contact your Veza administrator.
```

{% hint style="info" %}
Rule alert and remediation messages use a unified format consistent with email notifications. Sharing messages use a separate fixed format. These formats are not customizable.
{% endhint %}

{% hint style="info" %}
**Looking for direct messages?** Webhooks only post to channels. For direct message notifications to reviewers, use the [Slack App](/4yItIzMvkpAvMVFAamTf/features/access-reviews/configuration/slack-app.md) integration instead. Both integrations can be used simultaneously to provide full notification coverage in Access Reviews.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/administration/administration/notifications/destinations/slack.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
