guardian / guardian/notifications-tooling

US-19 — Notify internal communications teams after dispatch

Open
#57 0 comments 0 reactions 0 assignees View on GitHub
feature would
Dominant language
TypeScript
Stars
3
Forks
0
Avg merge
1d 6h
Merged PRs (30d)
108

Description

## User story



As an internal communications team member, I want to be notified when a notification has been sent so that regional teams have visibility of dispatched notifications.


The initial integration should be with Google Chat.

_Slack has deemed to be out of scope and will not be supported as an additional internal communication channel._

## Notification details

The internal alert should include:
- [ ] Notification subject
- [ ] Topic
- [ ] Audience regions
- [ ] Customer communication channels
- [ ] Author or dispatcher
- [ ] Dispatch date and time
- [ ] Delivery status
- [ ] Link to the notification in the internal Dispatcher tool

## Acceptance scenarios

``` gherkin
Feature: Notify internal communications teams after dispatch

Background:
Given an internal communications destination has been configured

Scenario: Notify the internal communications team after a successful dispatch
Given a notification has been successfully dispatched
When the dispatch process completes
Then an internal communications alert should be sent
And the alert should identify the notification subject
And the alert should identify the notification topic
And the alert should identify the selected audience regions
And the alert should identify the customer communication channels
And the alert should identify the user who dispatched the notification
And the alert should include the dispatch date and time
And the alert should include a link to the notification

Scenario: Send an alert to Google Chat
Given Google Chat is configured as an internal communications destination
When a notification is successfully dispatched
Then the notification details should be posted to the configured Google Chat space

Scenario: Send an alert to Slack
Given Slack is configured as an internal communications destination
When a notification is successfully dispatched
Then the notification details should be posted to the configured Slack channel

Scenario: Send alerts to multiple internal communications destinations
Given Google Chat is configured as an internal communications destination
And Slack is configured as an internal communications destination
When a notification is successfully dispatched
Then the notification details should be posted to Google Chat
And the notification details should be posted to Slack

Scenario: Notify the relevant regional teams
Given a notification targets "United Kingdom"
And a Google Chat space has been configured for the United Kingdom communications team
When the notification is successfully dispatched
Then the notification details should be posted to the United Kingdom communications space
And teams for unselected regions should not be notified

Scenario: Notify all regional teams for a Global notification
Given the notification audience is "Global"
And Global represents United Kingdom, United States and Australia
When the notification is successfully dispatched
Then the United Kingdom communications team should be notified
And the United States communications team should be notified
And the Australia communications team should be notified

Scenario: Do not send an internal alert before dispatch
Given a notification has status "draft"
When the notification is saved
Then an internal communications alert should not be sent

Scenario: Do not send a successful-dispatch alert when delivery fails
Given the customer notification could not be successfully dispatched
When the dispatch attempt completes
Then a successful-dispatch alert should not be sent
And the dispatch failure should be recorded

Scenario: Internal communications alert fails
Given the customer notification has been successfully dispatched
And the configured internal communications service is unavailable
When the system attempts to send the internal alert
Then the customer notification should remain marked as dispatched
And the internal alert failure should be recorded
And the system should retry or allow the alert to be resent

Scenario: Prevent duplicate internal alerts
Given an internal alert has already been sent for a notification dispatch
When the dispatch result is processed again
Then a duplicate internal alert should not be sent

```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the dispatch completion flow and the configured internal communications destination described in the issue. Use the Gherkin acceptance scenarios to define the Google Chat alert contents, regional routing, failure handling, retries, and duplicate prevention. Done means successful dispatches produce the required Google Chat alerts while drafts, failed customer deliveries, and repeated results do not send them.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.