Skip to main content
Norbelys gives you two ways to gather people into an audience you can send to. The difference is simple: a group is a list you build by hand, and a segment is a rule that updates itself.

Group

A static list. You add people by hand, and it only changes when you change it. Good for “Event attendees — June” or any fixed list.

Segment

A dynamic audience. You define rules, and anyone who matches is in — automatically, forever. Good for “Engaged US leads” or “Clicked pricing, never replied.”

Groups

Find them under People → Groups.
1

Create a group

Press Create group, give it a name and an optional description.
2

Add people

Open the group and use Add people. You can pick people by hand (search and check them off) or copy a segment to snapshot everyone who currently matches it.
Copying a segment into a group is a one-time snapshot — people who match the segment later are not added automatically. If you want an audience that keeps updating, use a segment directly.

Segments

Find them under People → Segments. Create a segment with a name and description, then define its rules.

Building rules

You can match all of your conditions or any of them. Each condition is a Field · Operator · Value row, and fields are grouped into Attributes, Activity, Membership, and your Custom fields. There are two kinds of rules:
  • Attribute rules — match on who a person is: their name, company, custom-field values, and so on. Operators read in plain words: is, is not, contains, starts with, is any of, greater than, is set, before, after, in the last N days, and more.
  • Activity rules — match on what a person did: sent, opened, clicked, replied, bounced, unsubscribed, or marked spam — optionally within a campaign, a time window, a specific step or version, or (for clicks) a specific link.
Activity rules for opens and clicks count human engagement only, so “clicked the pricing link” means a real person clicked, not a scanner.

Build a form from the API

Do not hardcode Norbelys fields or operator compatibility in your client. Read the tenant-aware builder contract first:
GET /v1/segments/catalog returns:
  • every system field and active, filterable custom field in the workspace;
  • the valid operators for each field;
  • the input control for each operator (date, days, number, text, option, or none);
  • enum choices and the groups or programs option source for membership fields;
  • every supported activity action and its capabilities.
This is the same contract the Norbelys segment form consumes. A client renders the returned fields and controls, writes the selected values into an AudienceFilter, and passes that filter to the people list for a live preview or to the segments API to save it. segments.create and segments.update validate saved definitions against the current tenant catalog and return 400 Bad Request for an unknown field, incompatible operator, invalid enum choice, or incomplete value:
GET /v1/fields manages custom-field resources. Use GET /v1/segments/catalog to build a filter form because it merges those custom fields with immutable system fields and the operators each one actually supports.

Contact-history recipes

Use the system date field last_sent_at when the audience depends on whether someone was actually contacted. It is derived live from durable outbound activity: sent, delivered, and bounced count, while queued, failed, and cancelled do not. Campaign membership alone is not enough because a person can be enrolled without the first message ever leaving.
last_sent_at always evaluates the person’s complete contact history across the workspace. When the question is narrower — for example, “not contacted in campaign A” or “clicked version B after July 1” — use an activity condition and add campaignIds, stepIds, variantIds, a date window, or a link.
For a campaign batch, keep this as a dynamic segment and enroll it with snapshot mode. The segment remains reusable and automatically stops matching a person after their first successful send. Create a group only when you need a frozen, auditable list that must not change.

Live match count and AI drafting

As you build, the footer shows a live ”≈ N people match” so you can size the audience before you use it. You can also draft rules with AI — describe the audience in plain English (“clicked the pricing link in campaign A but never replied”) and Norbe builds the rules for you, asking a clarifying question if needed.
An empty segment (no conditions) matches everyone. Add at least one condition to narrow it down.

Using an audience in a campaign

When you add leads to a campaign, you can enroll all active people, a group, a segment, or a fresh CSV. For a segment you can turn on Keep in sync, so new people who come to match the segment are automatically enrolled going forward. See Adding leads.

Turning campaign results into a segment

From a running campaign you can Save as segment with presets like “everyone who clicked,” “everyone who replied,” or “everyone who went to spam” — a quick way to build a follow-up audience from real behavior.