Skip to main content

15-minute tutorial

A 15-minute end-to-end walkthrough — from “I just signed up” to “I see a notification in the bell”. This guide assumes you have nothing except a Notifizz account.

TL;DR

  1. Pick a region and create your first organisation + environment.
  2. Copy the SDK secret + Front API Key from environment settings.
  3. Install one backend SDK (@notifizz/nodejs).
  4. Fire one event with client.track(...).
  5. Build a campaign in the dashboard listening on that event.
  6. Promote it to Dev and watch the delivery land.

Step 1 — Create your organisation and environment

1

Sign up

Go to notifizz.com and sign up. Pick a region (EU is the default; US/APAC will follow).
2

Create an organisation

The first org is set up during onboarding. The org is the unit of billing and team membership.
3

Create your first environment

Each org starts with one dev environment. Create a prod environment from environment settings — keys are different per environment, never share.

Step 2 — Find your keys

Open environment settings → API Keys. You need three values:
KeyUsed by
SDK SecretYour backend, when calling client.track(...).
Auth SecretYour backend, when calling client.generateHashedToken(userId) for widget auth.
Front API KeyYour frontend widget.
The full reference is in keys and environments. For this tutorial you’ll only use the SDK Secret.

Step 3 — Install a backend SDK

npm install @notifizz/nodejs
yarn add @notifizz/nodejs
pnpm add @notifizz/nodejs
Java and PHP work the same way — see Java SDK or PHP SDK. The rest of this guide uses Node.

Step 4 — Fire your first event

import { NotifizzClient } from "@notifizz/nodejs";

const client = new NotifizzClient(
  process.env.NOTIFIZZ_AUTH_SECRET_KEY,
  process.env.NOTIFIZZ_SDK_SECRET_KEY,
);

await client.track("tutorial.first_event", {
  userId: "u_demo",
  email: "demo@example.com",
  message: "Hello from the tutorial",
});
Run the script. The event reaches Notifizz; with no campaign listening yet, it’s recorded but no notification fires. That’s fine — we’ll wire the campaign next.
Use a unique userId you control (e.g. your own account id in a test environment). You’ll target this user in the campaign.

Step 5 — Build the campaign

In the dashboard:
1

Open Campaigns → Create

Pick a name (Tutorial first notification). Pick a category — Promotional is fine for a test.
2

Bind the event

The campaign needs an event to listen on. Either pick tutorial.first_event from the events catalogue (the event you fired in Step 4 should appear) or create it inline.
3

Pick a channel — Notification Center

Add a step: “Send a Notification Center message”. Pick or create an NC config (a stored template). Use {{ message }} in the body so the event property fills in.
4

Let the AI generate the orchestrator

The orchestrator builds the recipient list from event properties. The AI generates the boilerplate — accept its suggestion to read userId and email from the event and emit [{ id: userId, email }] as recipients. Review the diff; edit if you want.
5

Resolve any dev tasks

The dashboard surfaces “dev tasks” when something needs attention (missing event property, undefined enricher, …). For this minimal flow there shouldn’t be any.

Step 6 — Promote to Dev and trigger

Dev runs on dev environments only — perfect for testing. Promote the campaign from Editing to Dev. Now fire the event again from your script:
await client.track("tutorial.first_event", {
  userId: "u_demo",
  email: "demo@example.com",
  message: "Hello from the tutorial",
});
Open Delivery History in the dashboard. Within seconds you should see:
  1. The event arrival.
  2. One workflow instance for the campaign.
  3. One delivery for u_demo, status delivered.

Step 7 — See it in the widget (optional)

To see the notification in the widget itself, set up the frontend SDK:
import NotifizzInbox from "@notifizz/react";

<NotifizzInbox
  options={{
    apiKey: "YOUR_FRONT_API_KEY",
    authType: "none",   // dev only
    userId: "u_demo",   // must match the event userId
    userEmail: "demo@example.com",
  }}
/>
The bell renders. Fire the event again — the badge updates and the message appears in real time. See frontend quickstart for the production-grade auth setup.

What you didn’t have to do

  • Pick recipients at the call site (the orchestrator handles that).
  • Pick a channel from your code (the campaign handles that).
  • Manage queues, retries, real-time delivery (Notifizz handles that).
  • Write template-rendering logic (the channel handles that).
That’s the value: from “an event happened” to “a notification arrived” without any glue layer to maintain.

FAQ

Check three things in order: (1) the campaign is at Dev (or Live on prod) — Editing doesn’t deliver; (2) the campaign listens on the exact event name you fired; (3) the campaign’s orchestrator returned a non-empty recipient list. The Delivery History view shows where the chain broke.
Use any userId you control. The widget in none mode will display whatever you key on. Don’t ship none mode to production.
No — the free tier covers tutorial-scale usage. Upgrade only when you exceed the free volume.
The dashboard requires you to resolve any open dev tasks before promoting. The most common one is “the orchestrator references a property your events don’t send”. Fix the event payload (or fix the orchestrator) and the dev task auto-resolves.
Yes — https://eu.api.notifizz.com/v1. The SDK defaults to EU. If you’re on a different region, override baseUrl via client.config({ baseUrl: "..." }) or the constructor; the dashboard environment settings show the right hostname.
Events show up after the first call reaches the backend with the right SDK secret. If yours doesn’t appear: check the SDK secret matches the environment, check there are no auth errors in your logs, and confirm the call resolved (await the call so silent network failures don’t slip past).

See also

Backend quickstart

Just the backend side, in five minutes.

Frontend quickstart

Production-grade widget setup with auth.

How Notifizz works

The pipeline end to end.

Troubleshooting

“My notification didn’t arrive” — checklist.