Builder Overview
The builder is a separate sub-export from @ambersecurityinc/notifly/builder that
provides everything you need to build a notification URL configuration UI — without any UI
framework dependencies.
Why a separate export?
The builder is designed for UI use cases:
- A settings page where users configure their notification services
- A webhook URL converter ("paste your Discord URL and get a notifly URL")
- A form that validates fields before generating a URL
Keeping it separate means server-side code using only notify() doesn't pay the cost
of bundling schema data it doesn't need.
Import
Typical flow
Builder exports at a glance
| Export | Purpose |
|---|---|
getServiceSchemas() | Get all service schemas |
getServiceSchema(service) | Get schema for one service |
searchServices(query) | Fuzzy search schemas |
getServicesByCategory(cat) | Filter schemas by category |
getCategories() | All categories with counts |
validateFields(service, fields) | Validate field values against schema |
buildUrl(service, fields) | Build a notifly URL from field values |
decomposeUrl(url) | Decompose a URL back into field values |
smartParse(input) | Parse any URL (raw or notifly format) |
detectAndConvert(rawUrl) | Convert a raw webhook URL to notifly format |
isRawServiceUrl(input) | Check if a string is a raw provider URL |