Spark — for marketers
Spark is the campaigns and automations module of Brixus365 — drag-and-drop email marketing for non-technical users, on the same engine that powers your transactional API.
For marketers. Everything in this section is dashboard-first — no code required. If you’re a developer looking for the transactional email API (receipts, password resets, magic links), see the Transactional Email API section instead.
Most marketing platforms treat campaigns and transactional email as two separate products: one for the marketing team, one for the engineering team, two billing dashboards, two sender reputations, two places to debug a delivery problem. Spark and the transactional API live on a single engine, share one deliverability reputation, and surface the same status data to whoever’s looking — marketer, developer, agency, or AI agent.
If you’re sending one welcome email to a single signup, that’s transactional. If you’re sending a Black Friday announcement to your full contact list, that’s a Spark campaign. Both go out the same door.
What is Spark?
Spark is built around three core ideas:
| Building block | What it does |
|---|---|
| Contacts | Your recipient list. Each contact has an email plus arbitrary key-value variables (e.g. first_name, plan, signup_date) you can use for personalisation and segmentation. |
| Templates | The email design — built in the visual editor, or imported from HTML if you prefer to hand-code. Templates reference contact variables like {{ first_name }} for per-recipient personalisation. |
| Campaigns | The send. A campaign picks a template, a recipient list (a segment of your contacts), and a schedule (now, later, or recurring). Spark renders the template against each contact’s variables and dispatches all of them through the same delivery engine your transactional API uses. |
Plus three follow-on ideas you’ll meet as you grow:
- Automations — multi-step sequences (e.g. “send onboarding email day 0, follow-up day 3, re-engagement day 14”)
- Segments — saved filters over your contacts (“active users who signed up in the last 30 days”)
- Analytics — delivery, open, and click metrics rolled up per campaign or across your account
Spark vs the transactional API
Two ways to send email, picked by the question “is this a 1:1 message triggered by a user action, or a 1:many announcement on a schedule?”
| Transactional API | Spark campaigns | |
|---|---|---|
| Triggered by | A user action in your app (signup, password reset, payment) | You — manually or on a schedule |
| Recipient count | Usually one (sometimes a small batch) | Hundreds to millions, segmented from your contacts |
| Latency target | Seconds — the user is waiting | Minutes — bulk send queued and paced |
| Authoring | Code (or starter templates) | Drag-and-drop visual builder (or imported HTML) |
| Recipients | One recipient address per call | A saved segment filter over your contacts |
| Examples | OTP, magic link, password reset, receipt, security alert, welcome | Newsletter, product launch, holiday promo, re-engagement |
| Where it lives | /docs/api-reference | This section |
You’ll often use both. A typical SaaS app sends signup OTPs through the transactional API and product newsletters through Spark — same account, same sender reputation, same analytics dashboard.
How a campaign flows through Spark
When you click Send on a Spark campaign, here’s what happens between the click and the inbox. Useful when debugging “where is my email?” questions.
- Draft. You’re in the wizard — picking template, recipients, and schedule. Editable in every way.
- Ready or Scheduled. When you finish the wizard, Spark validates the recipient list (drops invalid addresses, flags known bounces) and parks the campaign in one of two states: Ready if you picked “Save as Ready” (waits for you to click Send), or Scheduled if you picked a date and time.
- Recipient resolution. When the send actually starts — either you click Send Now on a Ready campaign or the scheduled time arrives — Spark fetches the contacts that match the campaign’s recipient filter. Resolution happens at send time, not schedule time, so a contact added between scheduling and send is included if they match.
- Processing. Spark prepares the per-recipient messages. Usually flicks past in seconds.
- Per-recipient render. For each contact, Spark renders the template with that contact’s variables. Personalisation tokens like
{{ first_name }}resolve to that contact’sfirst_namevalue. - Sending. Each rendered message goes out, paced to match your plan’s send capacity.
- Delivery feedback. As messages are accepted, delivered, opened, clicked, bounced, or marked spam, Spark updates the campaign’s analytics in real time. You’ll see counts move on the campaign report.
- Suppression. If a contact bounces or unsubscribes, they’re added to your account’s suppression list and excluded from future sends — no extra setup needed.
- Sent. Once dispatch finishes, the campaign moves to Sent and opens / clicks keep flowing into the report.
Each transition above is reflected as a status on the campaign — see Campaign statuses for the full reference of what each one means and when you’d see it.
Dashboard vs API access
Spark is built dashboard-first. Most teams start there because it doesn’t require code:
- Sign in to app.brixus365.com
- Click Spark in the left nav
- Campaigns, Automations, Contacts, Segments, Templates, Analytics — all available without writing a line
Programmatic Spark access (creating campaigns from your own code, triggering automations from a webhook, syncing contacts from your CRM) is gated to paid plans. Free plans get the full dashboard experience but cannot create API keys with marketing:* scopes — see API Keys for the details.
| Capability | Free | Paid (Standard / Enterprise) |
|---|---|---|
| Dashboard access — create campaigns, manage contacts, view analytics | ✓ | ✓ |
| Visual template builder + your saved templates | ✓ | ✓ |
| Recipient segmentation | ✓ | ✓ |
| 1 automation workflow | ✓ | 3 (Standard) · Unlimited (Enterprise) |
| Programmatic campaign send via API | — | ✓ |
| Programmatic contact / segment management via API | — | ✓ |
If you’re a developer evaluating Spark: the free dashboard plan is enough to validate that your contacts, segments, and templates work end-to-end. Once you’re ready to wire campaign creation into your own backend, upgrade to a Standard plan for the marketing:* scopes. Detailed reference docs for the Spark API are coming.
What’s next
| You want to… | Go to |
|---|---|
| See every status a campaign can be in (and what each means) | Campaign statuses |
| Read your campaign results after sending | Read your campaign results |
| See analytics across all your campaigns | Spark Analytics |
| Group related campaigns and track them together | Campaign Groups |
| Search, filter, and manage your full contact list | View and manage your recipients |
| Download recipient exports and track export status | Reports |
| Send your first transactional email instead | Transactional Quickstart |
| Compare free vs paid plans | Pricing |
| Sign in and create your first campaign | app.brixus365.com → Spark |
Stuck? Email support@brixus365.com — we read every message.
Send your first Spark campaign today
Free signup. 9,000 emails a month, full dashboard access, no card needed.