Skip to content

User Management

User management in EmberBlocks allows you to control who can access your app and what they can do. Manage team members, create custom roles, and optionally connect to an external user table for additional user data.

The Users tab in your app editor has three sections:

SectionPurpose
MembersView and manage app users
RolesCreate and configure access roles
ExternalConnect to an external user table

Roles determine what users can do in your app.

Every app starts with two default roles:

RolePermissionsNotes
AdminFull access including billing, user management, role creation, and app deletionFixed, cannot be modified
UserPublished app access onlyDefault role for new invites

The Admin role is special:

  • Cannot be edited or deleted
  • Has access to all features including:
    • Editor (Layout, Data, Actions tabs)
    • User management
    • Role creation and deletion
    • Billing information
    • App deletion
  • The app creator is automatically assigned Admin

The default User role:

  • Can only access the published version of the app
  • Cannot see the editor or make changes
  • Cannot invite other users
  • Perfect for end users who consume data

Create custom roles to define specific permission levels for your team.

  1. Navigate to the Users tab
  2. Click Roles in the sidebar
  3. Click Create Role
  4. Configure the role:
FieldRequiredDescription
NameYesRole name (e.g., “Manager”, “Analyst”)
DescriptionNoExplain what this role is for
Edit App & Invite UsersNoToggle to grant editor access

The “Edit App & Invite Users” Permission

Section titled “The “Edit App & Invite Users” Permission”

This is the key permission that separates editors from users:

PermissionEnabledDisabled
Access app editorYesNo
Create/edit viewsYesNo
Manage componentsYesNo
Configure data sourcesYesNo
Create/edit actionsYesNo
Invite usersYesNo
Manage user rolesYesNo
Access published appYesYes
RoleEdit PermissionUse Case
ManagerEnabledTeam leads who build and manage the app
AnalystDisabledUsers who view reports and dashboards
ContractorDisabledExternal users with limited access
SupportEnabledSupport team who can edit but not delete
  1. Click on a role in the list
  2. Update the name, description, or permissions
  3. Click Save
  1. Click the menu icon on the role card
  2. Select Delete
  3. Confirm the deletion

The Members section displays all users with access to your app:

ColumnDescription
UserName and email
RoleAssigned role
StatusAccepted or Pending invitation
JoinedWhen they joined or were invited
  • Use the search box to find users by name or email
  • Filter by role to see specific groups
  • Sort by name, role, or join date

To invite new users:

  1. Navigate to Users > Members
  2. Click Invite User
  3. Fill in the invitation form:
FieldRequiredDescription
EmailYesUser’s email address
First NameNoUser’s first name
Last NameNoUser’s last name
RoleYesSelect a role to assign
Profile ImageNoUpload or link an avatar
  1. Click Send Invite

The user receives an email invitation to join the app.

StatusDescription
PendingInvitation sent, waiting for user to accept
AcceptedUser has joined the app
  1. Click on a user in the list
  2. Update their details:
    • First name
    • Last name
    • Role assignment
    • Profile image
  3. Click Save
  1. Find the user in the members list
  2. Click the role dropdown
  3. Select the new role
  4. Changes apply immediately
  1. Click the menu icon on the user row
  2. Select Remove
  3. Confirm the removal

For managing many users:

  1. Select multiple users using checkboxes
  2. Click Change Role in the bulk actions bar
  3. Select the new role
  4. Apply to all selected users

Connect your app members to an external database table for additional user data.

Link app members to your existing user data to:

  • Access additional user fields (department, manager, etc.)
  • Use external user data in formulas via $user
  • Keep user data synchronized with your main database
  • Avoid duplicating user information
  1. Your app members are stored in EmberBlocks
  2. Each member has an external_row_id field
  3. This ID links to a row in your external table
  4. The external table’s fields become available via $user
  1. Navigate to Users > External
  2. Select a connected database
  3. Choose the external user table
  4. Select the key field to match on:
FieldDescription
Key FieldThe field in the external table that matches external_row_id

Common key fields:

  • email - Match by email address
  • user_id - Match by unique ID
  • employee_id - Match by employee identifier

For each app member, set their external_row_id:

  1. Edit the member
  2. Set the External Row ID to match the key field value
  3. Save changes

Example:

  • External table has email as key field
  • Member email: john@company.com
  • Set external_row_id: john@company.com

Once linked, external fields are available in formulas:

{{$user.department}}
{{$user.manager_name}}
{{$user.hire_date}}

In the External settings, you can preview:

  • Which members are linked
  • What external data is available
  • Any unmatched members

User data is available throughout your app via the $user variable:

FieldDescription
$user.idEmberBlocks user ID
$user.emailUser’s email address
$user.first_nameUser’s first name
$user.last_nameUser’s last name
$user.roleUser’s role name
$user.imageProfile image URL

If an external user table is connected:

{{$user.department}}
{{$user.location}}
{{$user.employee_id}}

Filter data by department:

{{FILTER(tasks, tasks.department = $user.department)}}

Show manager-specific content:

{{IF($user.is_manager, 'View Team Reports', 'View My Reports')}}

Personalized greeting:

Welcome, {{$user.first_name}}!
  • Begin with minimal permissions
  • Add access as needed
  • Use custom roles for specific team needs

Before creating roles, consider:

  1. Who needs to edit the app?
  2. Who only needs to view data?
  3. Are there different viewing permissions needed?
  4. Should anyone be able to invite others?

Periodically review:

  • Users who haven’t accessed the app
  • Pending invitations that should be revoked
  • Roles that are no longer needed
  • Permissions that may be too broad
  • Add descriptions to custom roles
  • Document what each role is for
  • Keep a record of role assignments
  • Users only see data based on their role
  • Editor access grants full data visibility
  • Use component visibility formulas for row-level filtering
  • Be cautious with Admin role assignment
  • Regularly review who has editor access
  • Remove access promptly when users leave
  • External user tables expose database fields
  • Only include necessary fields in your user table
  • Avoid exposing sensitive internal data
IssueCauseSolution
Can’t invite usersNot Admin or EditorRequest appropriate role
Invitation not receivedEmail issuesCheck spam folder, resend invitation
External data not showingMissing linkVerify external_row_id matches
Role changes not workingPage cacheRefresh the page
  1. Check they’ve accepted the invitation
  2. Verify their role has appropriate permissions
  3. Ensure the app is published (for User role)
  4. Check for any visibility formulas hiding content
  1. Verify the database connection is active
  2. Check the key field mapping is correct
  3. Ensure external_row_id is set for the member
  4. Confirm the external table has matching data