Since communication in teams became more efficient and messengers such as Slack or MS Teams became a hub for developers, why don't keep all neccessary information handy in one place? Like the status of your Codepipeline. You will get notified of any failed state and the approval action only as of right now.
Cloudwatch Events Rule trigger a Lambda which sends out basic information about the state of your CodePipeline to either Slack or MS Teams in the appropriate Format using an incoming Webhook which needs to be configured on either of the messengers.
You can deploy this application by cloning the github repository and packaging the template using Cloudformation.
Package it first and upload to S3:
aws cloudformation package \ --template-file CF-PipelineNotification.yaml\ --s3-bucket <YourBucketName> \ --output-template-file packaged-PipelineNotification.yaml
Then deploy it as a cloudformation stack:
aws cloudformation deploy \ --template-file packaged-PipelineNotification.yaml \ --stack-name CF-PipelineNotification \ --capabilities CAPABILITY_IAM \ --parameter-overrides \ WebhookUrl=<YourWebhookUrl> \ Env=<slack/msteams>
How it looks like:
Further information and the source code can be found here: