Web Push Sites
Configure or review notifications and their intended recipients.
Before you start
Use the account and workspace that own the records. This page does not include administrator configuration forms.
Open /portal/web-push/sites on your application domain, or use the matching item in the application menu.
Steps
Save settings
- Open /portal/web-push/sites on your own application domain.
- Complete these fields in that form: Website name, Website URL, Integration script URL, UTM source, UTM medium, UTM name, Status, Short name, Name, Start URL, Background color, Theme color, Popup background, Popup text color, HomeScreen popup text, Website Push ID, .p12 certificate, Allowed sub-domains, Position, Left (px), Right (px), Bottom (px). Their choices and limits are listed below.
- Select Save settings. The exact label can change between creating and editing a record.
- If validation fails, correct the named field and submit again. After success, reopen the same record and compare the saved values.
| Field shown in the form | What to enter | Example / note |
|---|---|---|
| Website name | Required. No more than 255 characters. | Test record (use a unique value where required). |
| Website URL | Optional, unless this form asks for it. Enter a complete URL, including https:// where appropriate. No more than 2048 characters. | https://example.test/demo (replace with your own test destination). |
| Integration script URL | Optional, unless this form asks for it. Enter a complete URL, including https:// where appropriate. No more than 2048 characters. | https://example.test/demo (replace with your own test destination). |
| UTM source | Optional, unless this form asks for it. No more than 120 characters. | Use the value required by the task; no example is assumed. |
| UTM medium | Optional, unless this form asks for it. No more than 120 characters. | Use the value required by the task; no example is assumed. |
| UTM name | Optional, unless this form asks for it. No more than 120 characters. | Test record (use a unique value where required). |
| Status | Required. Choose Enable, Disable. | Choose a displayed option; the available labels are listed above. |
| Short name | Optional, unless this form asks for it. No more than 12 characters. | Test record (use a unique value where required). |
| Name | Optional, unless this form asks for it. No more than 45 characters. | Test record (use a unique value where required). |
| Start URL | Optional, unless this form asks for it. Enter a complete URL, including https:// where appropriate. No more than 2048 characters. | https://example.test/demo (replace with your own test destination). |
| Background color | Optional, unless this form asks for it. | Use the value required by the task; no example is assumed. |
| Theme color | Optional, unless this form asks for it. | Use the value required by the task; no example is assumed. |
| Popup background | Optional, unless this form asks for it. | Use the value required by the task; no example is assumed. |
| Popup text color | Optional, unless this form asks for it. | Use the value required by the task; no example is assumed. |
| HomeScreen popup text | Optional, unless this form asks for it. Supports {app_name}, {share_icon}, and {add_icon} placeholders. No more than 1000 characters. | Use the value required by the task; no example is assumed. |
| Website Push ID | Optional, unless this form asks for it. No more than 255 characters. | Use the value required by the task; no example is assumed. |
| .p12 certificate | Optional, unless this form asks for it. No more than 2048 characters. | Use the value required by the task; no example is assumed. |
| Allowed sub-domains | Optional, unless this form asks for it. Comma separated, without the main domain. No more than 1000 characters. | Use the value required by the task; no example is assumed. |
| Position | Required. Choose Right, Left. | Choose a displayed option; the available labels are listed above. |
| Left (px) | Required. Enter a whole number. At least 0. No more than 500. | Use the value required by the task; no example is assumed. |
| Right (px) | Required. Enter a whole number. At least 0. No more than 500. | Use the value required by the task; no example is assumed. |
| Bottom (px) | Required. Enter a whole number. At least 0. No more than 500. | Use the value required by the task; no example is assumed. |
Fields shown in the interface
Only fields traced to this role’s handler and its own view are listed. The application can show separate create/edit forms; do not fill every row on one screen.
Form 1 — fields shown in the interface
| Field | What to enter or choose |
|---|---|
| Website name | Required. No more than 255 characters. |
| Website URL | Optional, unless this form asks for it. Enter a complete URL, including https:// where appropriate. No more than 2048 characters. |
| Integration script URL | Optional, unless this form asks for it. Enter a complete URL, including https:// where appropriate. No more than 2048 characters. |
| UTM source | Optional, unless this form asks for it. No more than 120 characters. |
| UTM medium | Optional, unless this form asks for it. No more than 120 characters. |
| UTM name | Optional, unless this form asks for it. No more than 120 characters. |
| Status | Required. Choose Enable, Disable. |
| Short name | Optional, unless this form asks for it. No more than 12 characters. |
| Name | Optional, unless this form asks for it. No more than 45 characters. |
| Start URL | Optional, unless this form asks for it. Enter a complete URL, including https:// where appropriate. No more than 2048 characters. |
| Background color | Optional, unless this form asks for it. |
| Theme color | Optional, unless this form asks for it. |
| Popup background | Optional, unless this form asks for it. |
| Popup text color | Optional, unless this form asks for it. |
| HomeScreen popup text | Optional, unless this form asks for it. Supports {app_name}, {share_icon}, and {add_icon} placeholders. No more than 1000 characters. |
| Website Push ID | Optional, unless this form asks for it. No more than 255 characters. |
| .p12 certificate | Optional, unless this form asks for it. No more than 2048 characters. |
| Website name | Optional, unless this form asks for it. No more than 255 characters. |
| Allowed sub-domains | Optional, unless this form asks for it. Comma separated, without the main domain. No more than 1000 characters. |
| Position | Required. Choose Right, Left. |
| Left (px) | Required. Enter a whole number. At least 0. No more than 500. |
| Right (px) | Required. Enter a whole number. At least 0. No more than 500. |
| Bottom (px) | Required. Enter a whole number. At least 0. No more than 500. |
Check the result
After a source-checked procedure, verify the same record in the same workspace. Check saved values, visible state and access with the intended test account. An external payment/message/provider action needs its own result check.
Problems and validation
| Problem | Next step |
|---|---|
| A field rejects the value | Check its named error, the form’s visible choices and the relevant limit. Do not substitute internal numeric codes for the displayed options. |
| The control is missing | Check role, plan, enabled app and current record state. Do not grant administrator access merely to complete a User task. |
| The saved result is unexpected | Reopen the same record and verify its owner/workspace before repeating the action. |
Technical reference
Role-scoped source references
Pinned commit: 68a5655db1bbe17c74fb211f0fe0ee4e63c8be88
- modules/WebPush/WebPushSites/Http/Controllers/WebPushPreferenceController.php
- modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteAssetController.php
- modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php
- modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php
- modules/WebPush/WebPushSites/resources/views/livewire/create.blade.php
- modules/WebPush/WebPushSites/resources/views/livewire/edit.blade.php
- modules/WebPush/WebPushSites/resources/views/livewire/prompt-builder.blade.php
- modules/WebPush/WebPushSites/resources/views/livewire/workspace.blade.php
- modules/WebPush/WebPushSites/resources/views/preferences.blade.php
Source-only route information
| Method | Source-default route |
|---|---|
| GET | /portal/web-push/sites |
| GET | /portal/web-push/sites/create |
| GET | /portal/web-push/sites/{site}/edit |
| GET | /portal/web-push/sites/{site}/service-worker |
| GET | /web-push/sites/{site}/install |
| POST | /web-push/sites/{site}/subscriptions |
| POST | /web-push/sites/{site}/identity |
| POST | /web-push/sites/{site}/prompt-events |
| POST | /web-push/sites/{site}/events |
| POST | /web-push/sites/{site}/in-app-messages |
| GET | /web-push/preferences/{token} |
| PATCH | /web-push/preferences/{token} |
Unmapped fields — not user instructions
These fields belong to this role’s source handler, but their screen labels were not confirmed.
| Source key | Handler |
|---|---|
| settingsForm.service_worker_url | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.default_icon | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.badge_icon | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.ios_icon | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.safari_website_icon | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.widget_icon | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_status | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_title | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_message | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_button | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_delay | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_frequency_days | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_position | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_bg | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_text | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_template | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_accent | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_ab_status | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_b_title | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_b_message | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_b_button | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| settingsForm.prompt_b_weight | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| createForm.domain | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| createForm.icon | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| createForm.badge | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| createForm.utm_source | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| createForm.utm_medium | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| createForm.utm_name | modules/WebPush/WebPushSites/Livewire/WebPushSitesWorkspace.php |
| topics | modules/WebPush/WebPushSites/Http/Controllers/WebPushPreferenceController.php |
| pause | modules/WebPush/WebPushSites/Http/Controllers/WebPushPreferenceController.php |
| unsubscribe | modules/WebPush/WebPushSites/Http/Controllers/WebPushPreferenceController.php |
| subscription.endpoint | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| subscription.keys.p256dh | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| subscription.keys.auth | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.language | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.timezone | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.browser | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.device | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.os | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.utm_source | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.utm_medium | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.utm_campaign | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.country_code | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| attributes.region_code | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| external_id | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| event | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| variant | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| language | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| device | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| event | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| campaign_id | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| welcome_step | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| subscription_id | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| language | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| device | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| url | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| order_id | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| revenue_amount | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |
| currency | modules/WebPush/WebPushSites/Http/Controllers/WebPushSiteSubscriptionController.php |