Single notification workflow
Send individual notifications directly through the admin interface without uploading files.Sending a one-off notification
Select a template
Navigate to your service dashboard and choose the template you want to use for sending.
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)
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)
Fill in placeholders
Complete any template placeholders in step-by-step forms. Each placeholder gets its own screen with validation.
Preview and confirm
Review the notification preview showing:
- Final rendered content with all placeholders filled
- Recipient information
- Sender details (for emails and SMS)
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
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
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.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
Choose scheduling (optional)
For emails and SMS (not letters), select when to send:
- Now: Send immediately
- Scheduled: Choose a specific date and time
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
Contact lists
Reusable lists of recipients that can be used with any compatible template.Creating a contact list
Upload a contact list file
Navigate to Upload contact list and upload a file containing:
- Single column with header
email addressorphone number - One recipient per row
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)
Using contact lists
When sending from a template:- Select “Send using a contact list” option
- Choose from your saved contact lists (filtered by template type)
- The contact list is copied to a new upload for the job
- 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
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
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
Select postage
For valid letters, choose the postage type:
- First class
- Second class
- International (if enabled)
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:- Job created: Upload validated and job record created
- Processing: Notifications being created from CSV rows
- Sending: Notifications being sent to providers
- 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
- Letter jobs
- Scheduled jobs
Cancel letter jobs before they’re sent to the print provider:
- Navigate to the job page
- Click Cancel sending these letters
- Confirm cancellation
- Job status must be finished creating notifications
- All notifications created (count matches total)
- Letters not yet sent to printer
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)
- 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
| Error | Cause | Solution |
|---|---|---|
| Service is in trial mode | Trying to send to non-team members | Add recipients to guest list or request live mode |
| Exceeded send limits | Daily or annual limit reached | Wait for limit reset or contact support |
| Message too long | SMS content exceeds character limit | Shorten template or personalisation content |
| Letter too long | PDF has more than 10 pages | Split into multiple letters |
| Invalid PDF | Corrupted or malformed PDF file | Save a new copy and try again |
| Too many rows | CSV exceeds maximum recipients | Split 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)
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.