Your users and your mailing list, kept apart and linked.
App users, workspace members and marketing contacts are separate records, so deleting a newsletter contact never touches anyone's account. Your app stores what it learns about a user as attributes, and you group contacts into smart lists that email campaigns and workflows can send to.
Your app is an organization in BuildBase. Your users sign in and work inside workspaces - one per team or customer.
You set up
In the console and the SDK
- The details you want to remember about each user, like onboarding done
- Lists of people to email, by hand or by filter
- An import of your existing mailing list, from a CSV
You get
For you and your team
- A record of every user, their devices and their activity
- Lists that keep themselves up to date for campaigns
- The power to sign out a device or block an account
The people tables you would otherwise design
Accounts, attributes and marketing contacts are already modelled and connected to email and workflows. You decide what to store.
Users and Contacts, Apart
Your app's users and your mailing-list contacts are separate records, so deleting a contact never deletes an account. Link them when they are the same person.
Remember Anything
Save details your app learns about a user - onboarding done, plan interest - and read them back anywhere in your app.
See When It Changed
Every change to those details is recorded, so you can see when a user finished onboarding, not just that they did.
Lists That Update Themselves
Build a list from filters - tags, details, who opened a campaign - and it refreshes every hour.
Bring Your List
Import a CSV, match its columns, skip or update duplicates, and export any filtered list back out.
Look After Accounts
See a user's sessions, devices and emails, sign out one device, or block the account without deleting it.
Attributes from a hook
useUserAttributes() reads and writes the signed-in user's fields, and every write lands in the history.
import { useUserAttributes } from '@buildbase/sdk/react';
export function OnboardingGate({ children }: { children: React.ReactNode }) {
const { attributes, loading, updateAttributes } = useUserAttributes();
if (loading) return null;
if (attributes.onboarded) return <>{children}</>;
return (
<button
onClick={() =>
updateAttributes({
onboarded: true,
plan_interest: 'scale',
seats_estimate: 25,
})
}
>
Finish setup
</button>
);
}Read more in the docs
Setup guides and reference for User & Audience Management.
Overview
User profiles, smart lists, and attribute-based audience segmentation.
User attributes
Store and update custom fields on the signed-in user, with a full change history.
Audience and lists
Manage marketing contacts, tag and segment them, and import a CSV in three steps.
Managing members
Invite members, assign roles, and track seat usage.
Admin API
Authenticate with an org API token and call the REST API behind the console modules.
Frequently Asked Questions
What people ask about Users.
Do my users see this?
No. This is your team’s view of the people using your app and of your mailing list. Your users only see their own profile.
What is the difference between a user and a contact?
A user has an account in your app. A contact is someone on your mailing list. They are separate records, so deleting one never deletes the other, and you can link the two when they are the same person.
How do I store details about a user?
From your app with useUserAttributes(), or in the console. Define the keys in the console first so lists and workflows can filter on them.
Can I import my existing users?
You can import contacts for your mailing list from a CSV. There is no bulk import of user accounts.