

Amazon CodeCatalyst is no longer open to new customers. Existing customers can continue to use the service as normal. For more information, see [How to migrate from CodeCatalyst](migration.md).

# Sending notifications from CodeCatalyst
<a name="notifications"></a>

You can set up notifications to monitor your projects and resources in CodeCatalyst. Users can choose the project events about which they want to receive emails in any project where they are a member. You can also choose to configure notifications sent to an entire team in a team messaging application, such as Slack, by configuring access between a CodeCatalyst space and a Slack workspace, and then configuring notifications for a project to be sent to one or more channels in that Slack workspace. Once you've configured access between a CodeCatalyst space and a Slack workspace, project members will also have the option to add their own Slack member IDs so that they can be notified directly about CodeCatalyst events in connected Slack workspaces and channels.

**Note**  
The set of project events that can be sent to Slack are not the same set of events that users can choose to be notified about in email. 

**Topics**
+ [How do notifications work?](notifications-concepts.md)
+ [Getting started with Slack notifications](getting-started-notifications.md)
+ [Sending Slack and email notifications from CodeCatalyst](notifications-manage.md)

# How do notifications work?
<a name="notifications-concepts"></a>

You can set up your project to provide notifications to your team messaging application, such as Slack. 



## What permissions are necessary for notifications?
<a name="notifications-concepts-permissions"></a>

Any project member can configure, view, update, or delete notification settings for a channel in CodeCatalyst. However, only users with the **Space administrator** role can add or delete Slack workspaces. All users can configure what project events they want to receive emails about for the projects they belong to in CodeCatalyst.

## What CodeCatalyst events can I configure notifications about?
<a name="notifications-concepts-events"></a>

You can configure CodeCatalyst to deliver notifications to one or more Slack channels about workflow events. Once notifications have been configured between a CodeCatalyst project and Slack, project users can choose to add their own Slack member ID in order to receive direct messages in Slack channels about CodeCatalyst events. Users who add their Slack member IDs will receive direct mentions to their IDs in the Slack channels configured for their projects, helping raise awareness about events they care about.

You can also choose what events you want to receive emails about. These emails are sent to the email address configured for your AWS Builder ID.

## How are notifications surfaced?
<a name="notifications-concepts-delivery"></a>

You can configure CodeCatalyst to deliver notifications to one or more Slack channels. You need to authorize CodeCatalyst to grant permissions to access your Slack workspace. Once the authorization is provided, CodeCatalyst can deliver notifications to the Slack channels you configure. If a project member chooses to add their Slack member ID, they can receive mentions about CodeCatalyst events in the Slack channels configured for that project.

## How do I set up notifications?
<a name="notifications-concepts-setup"></a>

Email notifications are configured as part of CodeCatalyst. Project users can choose what events they'd like to receive emails about in their **My settings** page. 

To set up Slack notifications for your project resources, you must complete the following high-level tasks. 

**To set up notifications (high-level tasks)**

1. In CodeCatalyst, you **set up a connection** between CodeCatalyst and a messaging client, such as Slack. Once a Slack workspace is connected, it will be available to all projects in the space. 
**Note**  
Only users with a Space administrator role can add or delete a Slack workspace.

1. In your project in CodeCatalyst, **add the channel** where you want your team to receive notifications.

1. In CodeCatalyst, you **turn on notifications** for various events, such as workflow run failure, and specify the channel where you want them sent.

For detailed steps, see [Getting started with Slack notifications](getting-started-notifications.md).

Once notifications have been configured between a CodeCatalyst space and Slack, users can choose to add their own Slack member IDs to receive direct messages about CodeCatalyst events in the Slack channels configured for their projects,

# Getting started with Slack notifications
<a name="getting-started-notifications"></a>

After you create a project, you can set up Slack notifications that help your team to monitor project resources. 

These steps walk you through setting up Slack notifications for the first time in CodeCatalyst. If you have already configured notifications, see [Sending Slack and email notifications from CodeCatalyst](notifications-manage.md). 

**Note**  
The set of project events that can be sent to notification channels are not the same set of events that users can choose to be notified about in email. For more information, see [Sending Slack and email notifications from CodeCatalyst](notifications-manage.md).

**Topics**
+ [Prerequisites](#getting-started-notifications-prerequisites)
+ [Step 1: Connect CodeCatalyst to your Slack workspace](#getting-started-notifications-connect-slack)
+ [Step 2: Add your Slack channel to CodeCatalyst](#getting-started-notifications-add-slack-channel)
+ [Step 3: Test notifications from CodeCatalyst to Slack](#getting-started-notifications-next-steps)
+ [Step 4: Next steps](#getting-started-notifications-test)

## Prerequisites
<a name="getting-started-notifications-prerequisites"></a>

Before you begin, you need the following:
+ A CodeCatalyst space. For information about creating a CodeCatalyst space and signing in for the first time, see [Set up and sign in to CodeCatalystSet up and sign in to CodeCatalyst](setting-up-topnode.md).
+ A CodeCatalyst project. For more information, see [Creating a project](projects-create.md).
+ A CodeCatalyst account with the **Project administrator** or **Space administrator** role. For more information, see [Granting access with user roles](ipa-roles.md).
+ A Slack account and Slack workspace that can be accessed by CodeCatalyst.
+ A Slack channel where CodeCatalyst will send notifications. The channel can be public or private.

## Step 1: Connect CodeCatalyst to your Slack workspace
<a name="getting-started-notifications-connect-slack"></a>

Only users with the **Space administrator** role can add or delete Slack workspaces. Adding or deleting a Slack workspace affects all projects in the space. To establish the connection between CodeCatalyst and Slack, CodeCatalyst performs a secure OAuth authentication handshake with your Slack workspace. 

Use the following instructions to connect CodeCatalyst to your Slack workspace.

**Note**  
This only needs to be done once for each Slack workspace. You can then set up notifications by Slack channel.

**To connect CodeCatalyst to your Slack workspace**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your project.

1. In the navigation pane, choose **Project settings**.

1. Choose the **Notifications** tab.

1. Choose **Configure notifications**.

1. Choose **Connect to Slack workspace**.

1. Read the dialog box contents, and then choose **Connect to Slack workspace**.

1. On the **Amazon Q Developer in chat applications** message:

   1. In the upper right, choose the Slack workspace that contains your channel.

   1. Choose **Allow**.

   You are returned to the CodeCatalyst console.

1. Continue to [Step 2: Add your Slack channel to CodeCatalyst](#getting-started-notifications-add-slack-channel).

## Step 2: Add your Slack channel to CodeCatalyst
<a name="getting-started-notifications-add-slack-channel"></a>

You need the Slack channel ID to add your channel to CodeCatalyst.

**To get your Slack channel ID**

1. Sign in to Slack. For more information, see [Sign in to Slack](https://slack.com/help/articles/212681477-Sign-in-to-Slack).

1. Go to the Slack workspace that contains the channel where you want notifications to go. For more information, see [Switch between Slack workspaces](https://slack.com/help/articles/1500002200741-Switch-between-workspaces) or [Sign in to additional Slack workspaces](https://slack.com/help/articles/212681477-Sign-in-to-Slack).

1. In the navigation pane, open the context (right click) menu for the channel where you want notifications to go, and choose **Open channel details**.

   The channel ID is displayed at the bottom of the dialog box. 

1. Copy the **Channel ID** value. You'll need it in the next step.

Using the channel ID you just copied, you can now connect your Slack channel to CodeCatalyst.

**To add your Slack channel to CodeCatalyst**

1. Before you begin, if your Slack channel is private, add the Amazon Q Developer in chat applications app to the channel as follows:

   1. In your Slack channel’s message box, enter **@aws** and choose **aws app** from the dialog box.

   1. Press Enter.

      A Slackbot message appears, indicating that Amazon Q Developer in chat applications is not in the private channel. 

   1. Choose **Invite Them** to invite Amazon Q Developer in chat applications to the channel.

1. In the CodeCatalyst console, choose **Next**.

1. In **Channel ID**, paste the Slack channel ID you obtained earlier.

1. In **Channel name**, enter a name. We recommend using the Slack channel name.

1. Choose **Next**.

1. In **Select notification events**, choose the type of event you want to receive notifications for.

1. Choose **Finish**.

## Step 3: Test notifications from CodeCatalyst to Slack
<a name="getting-started-notifications-next-steps"></a>



After your project is configured to send notifications for workflow status, you can view your notifications in Slack.

**To view your notifications in Slack**

1. In your CodeCatalyst project, [start a workflow manually](workflows-manually-start.md) in order to complete a workflow run and receive a status notification when the run finishes.

1. In Slack, view the channel you set up for notifications. Your notifications show the latest status from each workflow run, and whether it failed or succeeded.

## Step 4: Next steps
<a name="getting-started-notifications-test"></a>

Once a Slack workspace is configured for your CodeCatalyst space, you can add additional Slack channels existing CodeCatalyst projects, and add them for new projects after you create them. You can also let project users know that they can configure personal Slack notifications for their Slack member IDs, and configure the events for which they'll receive emails. For more information, see [Sending Slack and email notifications from CodeCatalyst](notifications-manage.md).

# Sending Slack and email notifications from CodeCatalyst
<a name="notifications-manage"></a>

You can configure CodeCatalyst to send notifications about events that occur in your project. CodeCatalyst can send notifications to messaging clients such as Slack channels. Having CodeCatalyst send messages to Slack channels helps to ensure that your entire team is aware of important events, such as workflow failures. Optionally, you can choose to have CodeCatalyst @mention you in the Slack messages it sends out so that you receive a corresponding direct message (DM).

CodeCatalyst can also send notifications directly to you in an email. Email notifications will be sent about events in any project where you are a member. These emails will be sent to the email address configured in your AWS Builder ID.

**Note**  
The events that can be sent to Slack channels can be different from those sent by email. 

**Topics**
+ [Configuring email notifications](notifications-personal.md)
+ [Sending notifications to Slack channels](notifications-projects.md)
+ [Configuring Slack direct messages](notifications-personal-slack.md)
+ [Editing notifications for a notification channel](notifications-edit.md)
+ [Removing a channel](notifications-remove-channel.md)

# Configuring email notifications
<a name="notifications-personal"></a>

You can choose to have email notifications sent to you about events in any project where you are a member. These emails will be sent to the email address configured in your AWS Builder ID. By default, you will receive emails about all project events for which emails can be sent.<a name="notifications-personal-email"></a>

**To configure email notifications for project events**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. In the top menu bar, choose your profile badge, and then choose **My settings**. The CodeCatalyst **My settings** page opens.
**Tip**  
You can also find your user profile by going to the members page for a project or space and choosing your name from the members list.

1. In **Email notifications**, find the project in the list where you want to configure email notifications, and choose **Edit**.

1. Select the events for which you want to receive emails, and then choose **Save**.

# Sending notifications to Slack channels
<a name="notifications-projects"></a>

You can configure CodeCatalyst to send notifications about project events to your team's Slack channels. By doing this, you can help ensure that your entire team is aware of important events, such as when a workflow run fails.

**Note**  
Any member of a project can manage notifications sent to channels for that project. However, only users with the **Space administrator** role can add or delete Slack workspaces. 

Use the following instructions to add a Slack channel to which notifications will be sent.

**To add a Slack channel for notifications**

1. If you're adding your first Slack channel, see instead [Getting started with Slack notifications](getting-started-notifications.md).

   After setting up your first channel, return to this procedure to set up additional channels.

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your project.

1. In the navigation pane, choose **Project settings**.

1. Choose the **Notifications** tab.

1. Choose **Add channel**.

1. Choose **Choose workspace**, and then select the Slack workspace that contains the channel where you want to send notifications.

   If your Slack workspace is not in the list, you can add it by following the instructions in [Getting started with Slack notifications](getting-started-notifications.md).

1. Before entering a **Channel ID**, if the Slack channel you want to add is private, complete these steps:

   1. In your Slack channel’s message box, enter **@aws** and choose **aws app** from the pop-up.

   1. Press Enter.

      A Slackbot message appears, indicating that Amazon Q Developer in chat applications is not in the private channel. 

   1. Choose **Invite Them** to invite Amazon Q Developer in chat applications to the channel.

1. In CodeCatalyst's **Channel ID** field, enter the Slack channel ID. To find the ID, go to Slack, and in the navigation pane, right-click the channel and choose **Open channel details**.

   The channel ID is displayed at the bottom of the dialog box. 

1. In **Channel name**, enter a name. We recommend using the Slack channel name.

1. In **Select notification events**, choose the type of event you want to receive notifications for.

1. Choose **Add**.

# Configuring Slack direct messages
<a name="notifications-personal-slack"></a>

If a CodeCatalyst project has been configured to [send notifications to a Slack channel](notifications-projects.md), those notifications can also be sent as direct messages (DMs). Having notifications sent to you directly as DMs can help raise awareness of events happening in the projects where you have a role. To enable DMs, you must add your Slack member ID to CodeCatalyst. 

**To configure Slack direct messages**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. In the top menu bar, choose your profile badge, and then choose **My settings**. The CodeCatalyst **My settings** page opens.
**Tip**  
You can also find your user profile by going to the members page for a project or space and choosing your name from the members list.

1. In **Personal Slack notifications**, choose **Connect Slack ID**, and then choose **Connect to Slack workspace**. A separate window will open.
**Tip**  
This option is not configurable unless a user with the **Space administrator** role has added a Slack workspace for your CodeCatalyst space. For more information, see [Getting started with Slack notifications](getting-started-notifications.md) and [Sending notifications to Slack channels](notifications-projects.md).

1. In the permissions request window, make sure that the name of the workspace matches the Slack workspace configured for the CodeCatalyst space. Choose **Allow** to allow Amazon Q Developer in chat applications access to the workspace. The window will close, and the Slack workspace will show the **Connnection status** as **Connected**.
**Tip**  
If the connection status does not change, check to see if an error occurred connecting the Slack workspace. You might have to scroll up to see the error. 

1. To stop receiving personal Slack notifications, choose the connected Slack workspace, and then choose **Disconnect Slack ID**.

# Editing notifications for a notification channel
<a name="notifications-edit"></a>

You can change which channels notifications go to, and you can turn off specific notifications altogether.

**To edit notifications**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your project.

1. In the navigation pane, choose **Project settings**.

1. Choose the **Notifications** tab.

1. Choose **Edit notifications**.

1. Do one of the following:
   + To send a notification to a specific channel, choose the channel from the drop-down list.
   + To turn off a notification globally, choose the toggle next to the notification.
   + To stop sending a notification to a specific channel, choose the **X** on the channel.

1. Choose **Save**.

# Removing a channel
<a name="notifications-remove-channel"></a>

You can remove a Slack channel from Amazon CodeCatalyst. By removing a Slack channel, notifications about a chosen CodeCatalyst project will no longer be sent to the channel. 

**To remove a channel**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your project. In the navigation pane, choose **Project settings**.

1. On the **Project settings** page, choose the **Notifications** tab.

1. Choose the indicator next to the channel you want to remove and then choose **Remove channel**. Choose **Ok** in the confirmation window.