Skip to main content
GOV.UK Notify Admin provides multiple ways to send notifications to your users, from quick one-off messages to large batch sends via CSV upload.

Single notification workflow

Send individual notifications directly through the admin interface without uploading files.

Sending a one-off notification

1

Select a template

Navigate to your service dashboard and choose the template you want to use for sending.
2

Set sender (if multiple options)

If your service has multiple sender addresses or phone numbers configured:
  • Email: Choose which reply-to address to use
  • SMS: Select which sender ID to use (shows which receives replies with “Receives replies” hint)
The default sender is marked with “(Default)” hint text.
3

Enter recipient details

Provide the recipient information:
  • Email: Email address
  • SMS: Phone number (supports international numbers if enabled)
  • Letter: Full postal address (address lines 1-7)
For letters, use the dedicated address form that validates the address format.
4

Fill in placeholders

Complete any template placeholders in step-by-step forms. Each placeholder gets its own screen with validation.
5

Preview and confirm

Review the notification preview showing:
  • Final rendered content with all placeholders filled
  • Recipient information
  • Sender details (for emails and SMS)
For letters, preview shows the actual letter pages with formatting.
6

Send

Click the send button to immediately dispatch the notification.
For SMS, you can use the “Use my phone number” skip link to quickly send a test message to yourself if you have the manage_templates and manage_service permissions.

CSV batch upload

Send notifications to multiple recipients by uploading a spreadsheet file.

Supported file formats

  • CSV (Comma Separated Values)
  • TSV (Tab Separated Values)
  • ODS (Open Document Spreadsheet)
  • Microsoft Excel spreadsheet (.xlsx)

Upload workflow

1

Prepare your file

Create a spreadsheet with:
  • First column: Recipient information (email address, phone number, or address lines for letters)
  • Additional columns: Values for any template placeholders
Download the example CSV from the upload page to see the exact format required.
2

Upload the file

Use the file upload form at /services/{service_id}/send/{template_id}/csv to select and upload your spreadsheet.The file is uploaded to S3 and assigned a unique upload_id.
3

Review validation results

Notify validates your file and shows:
  • Column errors: Missing required columns, duplicate headers, wrong column names
  • Row errors: Invalid email addresses, phone numbers, or addresses
  • Message count: Total recipients and whether you’re within limits
  • Preview: First 50 rows with the template applied
You can click individual row numbers to preview that specific message.
4

Choose scheduling (optional)

For emails and SMS (not letters), select when to send:
  • Now: Send immediately
  • Scheduled: Choose a specific date and time
5

Start the job

Click “Send [X] messages” to create the job. The system:
  • Creates a job record with status tracking
  • Processes each row into individual notifications
  • Shows real-time progress on the job page

Validation checks

Notify performs comprehensive validation:
  • Too many rows: Maximum recipients per upload (service-specific limits)
  • Missing columns: Required recipient column and all placeholder columns must be present
  • Invalid recipients:
    • Emails: Valid email format
    • SMS: Valid phone numbers (with international SMS permission check)
    • Letters: Minimum 3 lines, maximum 7 lines for address
  • Trial mode restrictions: In trial mode, can only send to team members and guest list
  • Remaining messages: Checks against your daily/annual sending limits
If you’ve sent the same file previously with the same template version, Notify will warn you to prevent duplicate sends.

Contact lists

Reusable lists of recipients that can be used with any compatible template.

Creating a contact list

1

Upload a contact list file

Navigate to Upload contact list and upload a file containing:
  • Single column with header email address or phone number
  • One recipient per row
Maximum 50 rows shown in preview, up to 50 errors displayed.
2

Validation

The system validates:
  • Only one column (email address OR phone number, not both)
  • Valid email/phone format for each row
  • Not too many rows (service limits apply)
  • Trial mode restrictions (if applicable)
3

Save the contact list

Once validated, save the contact list. It appears in your uploads page with:
  • Original filename
  • Template type (email or SMS)
  • Row count

Using contact lists

When sending from a template:
  1. Select “Send using a contact list” option
  2. Choose from your saved contact lists (filtered by template type)
  3. The contact list is copied to a new upload for the job
  4. Follow the standard batch send workflow
Contact lists can be reused multiple times and are shown on the first page of your uploads alongside scheduled jobs.

Letter uploads

Upload pre-compiled PDF letters for sending.

PDF upload workflow

1

Upload a PDF

Navigate to Upload letter and upload a PDF file.
2

PDF sanitization

Notify’s template preview service:
  • Validates the PDF structure
  • Sanitizes the content
  • Extracts the recipient address from the letter
  • Counts pages
  • Checks for content outside printable area
3

Review validation

If validation fails, you’ll see specific errors:
  • Invalid PDF: Cannot read the PDF file
  • Content outside printable area: Shows affected page numbers
  • Letter too long: More than 10 pages
Invalid pages are highlighted in the preview.
4

Select postage

For valid letters, choose the postage type:
  • First class
  • Second class
  • International (if enabled)
5

Send

Submit to send the letter. The original PDF is backed up to S3, and the sanitized version is used for printing.

Letter printing schedule

Letters are printed according to this schedule:
  • Upload before 5:30pm: Printing starts today at 5:30pm
  • Upload after 5:30pm: Printing starts tomorrow at 5:30pm

Jobs and tracking

Job lifecycle

When you start a batch send:
  1. Job created: Upload validated and job record created
  2. Processing: Notifications being created from CSV rows
  3. Sending: Notifications being sent to providers
  4. Finished: All notifications processed

Job page features

  • Status counts: Total, delivering, delivered, failed (with percentages)
  • Real-time updates: Page auto-refreshes via JSON API
  • Notification list: Individual notification statuses with filtering
  • Download CSV: Export job results (up to 5,000 rows per download)
  • Original file: Download the original CSV for scheduled jobs

Cancelling jobs

Cancel letter jobs before they’re sent to the print provider:
  1. Navigate to the job page
  2. Click Cancel sending these letters
  3. Confirm cancellation
Requirements:
  • Job status must be finished creating notifications
  • All notifications created (count matches total)
  • Letters not yet sent to printer
Shows how many letters were cancelled.

Uploads page

The uploads page (/services/{service_id}/uploads) shows:
  • Contact lists: Saved reusable recipient lists (always on page 1)
  • Scheduled jobs: Jobs waiting to be sent (always on page 1)
  • Completed uploads: Historical batch sends (paginated)
Each item shows:
  • Template name and type
  • Upload date/time
  • Recipient count
  • Status (for jobs)
The uploads page replaced the older “Jobs” page and provides a unified view of all sending activity.

Error handling

Common errors and solutions

ErrorCauseSolution
Service is in trial modeTrying to send to non-team membersAdd recipients to guest list or request live mode
Exceeded send limitsDaily or annual limit reachedWait for limit reset or contact support
Message too longSMS content exceeds character limitShorten template or personalisation content
Letter too longPDF has more than 10 pagesSplit into multiple letters
Invalid PDFCorrupted or malformed PDF fileSave a new copy and try again
Too many rowsCSV exceeds maximum recipientsSplit into multiple uploads

Trial mode sending

In trial mode, notifications can only be sent to:
  • Team members (users added to the service)
  • Guest list entries (configured in API settings)
The validation process checks all recipients against this list and shows errors for any non-allowed recipients.

Best practices

Use contact lists

For frequently used recipient groups, create contact lists to avoid re-uploading the same data.

Download example CSVs

Always use the example CSV download for your template to ensure correct column headers.

Preview before sending

Review the preview page carefully, checking multiple rows to ensure personalisation works correctly.

Monitor job progress

For large batches, monitor the job page to catch any delivery issues early.

Build docs developers (and LLMs) love