Getting started

Concepts

Spaces, contacts, lists, segments, campaigns, flows and transactional emails

Account and spaces

Your account holds your team, your bill and one or more spaces.

A space is one brand or product. Everything else belongs to a space: its sending domains, contacts, lists, campaigns, flows, templates, API keys and AI connections. Two spaces never share contacts, and each one has its own sending reputation: a bad send on one brand never hurts another.

Running three products? Create three spaces. You keep one login, one team and one bill. Extra spaces need a paid plan. Spaces and members.

Sending domain

A space sends only from a domain you have verified through DNS, such as acme.com. The same domain also carries every link inside your emails (click tracking, unsubscribe, preferences) through a subdomain like link.acme.com. Nothing in your emails points to a domain shared with other senders. Set up your domain.

Contacts

A contact is an email address with a first name, a last name and any attributes you need (plan, company, signup_date…). Contacts are unlimited on every plan.

A contact has a status:

StatusMeaning
ActiveCan receive emails
UnsubscribedUnsubscribed from everything
BouncedThe address does not accept email
ComplainedMarked one of your emails as spam

Contacts in detail.

Lists

A list is something people subscribe to: "Newsletter", "Product updates", "Events in Paris". It carries consent. A contact can be subscribed to several lists and unsubscribe from each one separately on the preferences page.

Lists.

Segments

A segment is a saved filter: "plan is pro", "opened in the last 30 days", "performed trial_started". It never adds anyone to an audience, it only narrows it. Segments update on their own as contacts change.

Segments.

Events

An event is something a contact did in your product, sent by your app through the API: signed_up, trial_started, order_paid. Events start flows and feed segments.

Events API.

Campaigns

A campaign is a one-off email sent to a list, optionally narrowed by a segment: your newsletter, a launch announcement. You send it now or schedule it.

Campaigns.

Flows

A flow is an automated sequence. It starts when a contact subscribes to a list or when your app sends an event, then runs its steps in order: send an email, wait, check a condition.

Flows.

Transactional emails

A transactional email is sent by your app to one person because of something they did: a password reset, a receipt, an invitation. It needs no list, carries no unsubscribe link, and travels on its own stream, so it keeps flowing even if marketing is paused.

You write it once as a template in the dashboard, then send it through the API with variables.

Transactional emails.

Marketing and transactional streams

Campaigns and flows form the marketing stream, transactional emails the transactional stream. Kula keeps them apart:

  • marketing is warmed up on new domains, capped for contacts who never opened and paused if your reputation drops;
  • transactional skips all of this, so a password reset is never stuck behind a newsletter.

Use transactional emails only for messages a person expects after an action. Sending newsletters through the transactional API breaks the consent rules of inbox providers and of our acceptable use policy.

Who can do what

RoleCan manage
MemberContacts, lists, segments, campaigns, flows, templates
AdminEverything a member can, plus domains, API keys, webhooks, AI connections and space settings
OwnerEverything, plus billing, members and deletion of spaces

Spaces and members.