build_failed, invoice_payment, or chat_direct_mentions. Your app never hard-codes message text; instead it refers to a type by its event key, and the type decides the default channels, the title and message templates, and whether users are allowed to turn it off.
Categories simply group related types together (e.g., Billing, Collaboration, Security) so they are easier to present in a preferences screen.
Types and categories are scoped per environment. Configure them independently for
development, staging, and production.Ready-made types
Every project starts with a catalog of common notification types already created for you (such aspassword_reset, application_deployed, billing_payment_reminders, and many more). You can use them as-is, edit them, or add your own. Re-activating the module never overwrites your edits.
Anatomy of a notification type
Configure from the Archie web app
1
Open the Types tab
Navigate to App Services → Notifications and open the Types tab.
2
Create a category (optional)
Open Categories first and click + Add Category to create a group such as Billing. Give it a key and a name.
3
Add a type
Back in Types, click + Add Type and fill in:
- Event Key — e.g.,
order_shipped. - Name and Description.
- Category — pick the group it belongs to.
- Default Channels — e.g., In-app and Email.
- Title / Message templates — optionally with
{{.variable}}placeholders. - Toggles for Mandatory, Can be disabled, Default subscribed, and Active.
4
Save
Click Save.
Configure through the GraphQL API
Notification types and categories are regular tables in your project, so they are available through the standard auto-generated GraphQL operations on your project endpoint. EndpointCreate a category
Create a notification type
List the catalog
Soft-deleted records. List queries exclude soft-deleted rows by default. To include records that have been soft-deleted, pass the
withDeleted: true argument on the list query (e.g., archieNotificationTypes(withDeleted: true) { items { id eventKey } }). Omit it — or set it to false — to return only active rows.Update or deactivate a type
In the API, fields are shown in
camelCase (e.g., eventKey, defaultChannels, isActive). The API Explorer’s autocomplete and documentation panel always show the exact names and arguments available for your project.