Creating a service
Access the add service page
Navigate to
/add-service from your dashboard. This option is available to government users.Name your service
Choose a clear, descriptive name for your service at
/add-service/name-your-service.The service name:- Appears in email sender names (unless customized)
- Is visible to your team members
- Should reflect your organization or application
Select organization type
Choose the organization type that matches your service:
- Central government
- Local government
- NHS (with specific sub-types for GP practices, local NHS, and central NHS)
- Other public sector organizations
NHS GP practices have a zero message limit in trial mode to prevent accidental sends.
First-time service creation
When you create your first service, you’ll see an interactive tour that demonstrates:- How to use an example SMS template
- The basic workflow for sending notifications
- Key features of the platform
Service modes
Trial mode
All new services start in trial mode with these restrictions: Default limits in trial mode:- Email: 50 messages per day
- SMS: 50 messages per day
- Letters: 50 messages per day
- International SMS: 10 messages per day
- Cannot create “Live” API keys (only “Team and guest list” or “Test” keys)
- Cannot send to arbitrary recipients
Live mode
To request live access, your service must complete the go-live checklist:Add estimated usage volumes
Provide estimates for email, SMS, and letter volumes at
app/models/service.py:428Add team members with manage service permission
You need at least 2 team members who can manage the service
Change SMS sender (for non-central government)
Local authorities and NHS organizations must change from the default “GOVUK” sender
- Send to any recipient
- Create live API keys
- Send unlimited messages (within allocated allowances)
Service permissions
Services can be enabled for different notification channels:- Email
- SMS
- Letter
Enable email notifications for your service. Requires:
- Email branding configuration
- Reply-to email addresses
- Email sender name (custom or service name)
Advanced permissions
Additional service-level permissions include:| Permission | Description | Location |
|---|---|---|
email_auth | Allow team members to sign in with email codes | app/models/service.py:73 |
inbound_sms | Receive text message replies | app/models/service.py:74 |
international_sms | Send messages to international numbers | app/models/service.py:76 |
international_letters | Send letters internationally | app/models/service.py:75 |
send_files_via_ui | Upload and send letters via the UI | app/models/service.py:77 |
sms_to_uk_landlines | Send SMS to UK landline numbers | app/models/service.py:78 |
edit_folder_permissions | Enable folder-level permissions | app/models/service.py:72 |
Service settings
Contact information
Services can configure contact details for recipients:- Contact link: URL, email address, or phone number shown to recipients
- Appears in email footers and notification pages
- Helps recipients get support or ask questions
Billing details
For invoicing and cost tracking, services can store:- Billing contact email addresses
- Billing contact names
- Billing reference codes
- Purchase order numbers
Message limits
Each service has configurable daily limits:The system tracks messages sent today and prevents exceeding limits through
remaining_messages() at app/models/service.py:638.Service data retention
Services can configure how long notification data is retained:- Default: 7 days for all notification types
- Can be customized per notification type (email, SMS, letter)
- Affects dashboard statistics and notification history
- Managed at
app/models/service.py:458
Branding
Email branding
- GOV.UK branding: Default for central government
- Organization branding: Custom logos, colors, and banners
- Branding pool: Organizations can offer multiple branding options
app/models/service.py:482
Letter branding
- Custom letter templates with organization headers
- Logo placement and styling
- Managed through letter branding pool
app/models/service.py:494
Non-central government services must use organization-specific branding instead of GOV.UK branding.
Organization association
Services can be associated with an organization:- Inherits organization type and settings
- Access to organization branding pools
- Organization users can view service activity
- Required for go-live approval process
Service callbacks
Services can configure webhooks for real-time updates:- Delivery status
- Inbound SMS
- Returned letters
Receive notifications when messages are delivered or fail.Endpoint:
Available for: All services
/services/{service_id}/api/callbacks/delivery-status-callbackAvailable for: All services
- HTTPS URL
- Bearer token for authentication
- Managed at
app/main/views/api_keys.py:228
Service statistics
View service activity at/services/{service_id}:
- 7-day totals: Recent notification counts by channel
- Template usage: Most-used templates in the last week
- Scheduled jobs: Upcoming bulk sends
- Inbox: Received text messages (if inbound SMS enabled)
app/main/views/dashboard.py:556.