For Admins
Managing employees
Add, invite, edit, deactivate, and reassign employees across their full lifecycle, with bulk import patterns and HRIS sync notes.
Who can use this: Org admins only.
The Employees surface is the canonical roster for your organization in Performance Blocks. Everything else — observations, conversations, summaries, objectives, attributes — hangs off these records. Keeping the roster clean is the highest-leverage admin habit.
This article covers the full lifecycle: adding individuals, bulk import via CSV, sending and managing invitations, editing details, transitioning employees through active and inactive states, and the differences when HRIS sync is in play.
The employee record
An employee record holds:
- Identity: full name, work email, optional preferred name and pronouns.
- Org context: department, reporting line (manager), location (if mapped via custom field).
- Roles: an array of one or more —
employee,manager,org_admin. - Lifecycle status: invited, active, deactivated, archived.
- Custom fields: anything you have defined in Settings → Custom Fields.
- Performance Blocks data: observations, conversations, summaries, objectives, attribute ratings — all linked by employee ID, not email.
Linking by ID rather than email is important: if an employee changes their email, all of their performance history follows them.
Adding employees individually
Use individual add when you are onboarding one person at a time, or when you need to set up an unusual record (a contractor, an executive joining mid-quarter).
- Go to Admin → Employees.
- Click Add employee.
- Fill in:
- Full name.
- Work email.
- Department (pick from your configured departments).
- Manager (pick from existing employees with the
managerrole). - Roles (default is
employee; tickmanagerand/ororg_adminas needed). - Custom fields (optional).
- Choose Send invitation now or Add without invitation. The first sends the invite email immediately; the second creates the record so you can invite later.
- Save.
The employee receives an invitation email with a magic link to set their password (or sign in with SSO if your org uses it). The invitation expires after seven days; you can resend or revoke at any time.
Bulk import via CSV
For onboarding more than a handful of people, use CSV import.
Preparing the file
Performance Blocks expects a UTF-8 CSV with a header row. The required columns are:
| Column | Required | Notes |
|---|---|---|
email |
yes | Must be unique within your org |
full_name |
yes | First and last together |
manager_email |
no | Email of an existing or also-imported employee |
department |
no | Must match an existing department name exactly |
roles |
no | Comma-separated subset of employee,manager,org_admin; default employee |
start_date |
no | ISO 8601 (YYYY-MM-DD) |
Any additional columns whose names match defined custom fields will be imported into those fields. Unknown columns are ignored with a warning.
A row that references a manager_email not present elsewhere in the file or in the existing roster will fail validation. Order managers above their reports in the file, or run a second pass.
Running the import
- Go to Admin → Employees → Bulk import.
- Upload the CSV.
- Review the validation report. The system will list:
- Rows that will be created.
- Rows that will update existing employees (matched by email).
- Rows that will fail, with the reason.
- If the report looks right, click Run import. Otherwise, fix the file and re-upload.
- Choose whether to send invitations to newly created employees as part of the import.
Imports are idempotent on email. Re-running the same file will update existing records, not duplicate them.
Common validation errors
| Error | Fix |
|---|---|
Manager email not found |
Add the manager to the file or to the roster first |
Department does not exist |
Create the department in Settings → Departments, or remove the column |
Invalid role |
Roles must be one of employee, manager, org_admin |
Email already exists in another organization |
Performance Blocks emails are unique across orgs; reach out to support |
Custom field type mismatch |
The value in a custom field column does not parse as the expected type |
Invitations
Invitations are how new employees get into the app.
Sending
You can send invitations:
- At the moment of individual add (tick Send invitation now).
- As part of bulk import (tick Send invitations in the import dialog).
- Manually later via the Send invite action on a non-active record.
The invitation email contains your org name, your branding (logo and accent color, if configured), a magic link, and the company code. The magic link is single-use and expires after seven days.
Resending
If an employee misses their invite:
- Open their record.
- Click Resend invitation.
This generates a fresh link. The old link is invalidated immediately.
Revoking
If you sent an invite by mistake or the person no longer needs access:
- Open their record.
- Click Revoke invitation.
The record stays in invited status with no active link. You can either re-invite or deactivate.
When SSO is enabled
If you have SSO configured (Agentic plan), invitations still go out, but the magic link routes the user to your identity provider rather than to a password setup screen. The first time they sign in, their account is provisioned automatically.
If you have SCIM provisioning on top of SSO, you may not need to send invitations at all — your IdP creates the records and the user signs in directly.
Editing employee details
Open any employee record to see and edit:
- Identity (name, email, preferred name, pronouns).
- Org context (department, manager, location).
- Roles.
- Custom fields.
Changes save individually as you edit. There is no separate "save" button — each field commits when you click out of it. Email changes trigger a verification email to the new address; the change is not applied until the employee confirms.
If HRIS sync is enabled, the fields the HRIS owns are read-only and show a small lock icon. You can still edit Performance Blocks-only fields (typically: roles, custom fields not mapped from HRIS).
Lifecycle actions
Employees move through four states:
- Invited — record exists, invite sent, user has not signed in.
- Active — user has signed in at least once.
- Deactivated — user can no longer sign in; data is preserved.
- Archived — record hidden from default views; data preserved for compliance.
Activate
Activation is automatic — when an invited user signs in for the first time, they become active. There is no manual activate step.
Deactivate
Use deactivate when an employee leaves the company.
- Open the record.
- Click Deactivate.
- Confirm.
Deactivation:
- Revokes all active sessions immediately.
- Prevents future sign-in.
- Removes the user from the org chart's active view (they remain visible if you toggle "Show inactive").
- Preserves all observations, conversations, summaries, objectives, and attribute ratings — the employee's history is not deleted.
- Reassigns ownership of any "in flight" artifacts you specify (you will be prompted for direct reports' new manager and for any drafted summaries).
If feedbackAssignment is enabled, deactivation also closes any open feedback requests where the deactivated user was the giver, with a note in the audit log.
Reactivate
If a deactivated employee rejoins the team:
- Find them with the Show inactive filter on the Employees page.
- Open the record.
- Click Reactivate.
- Choose whether to send a fresh invitation email.
Reactivation restores all of their prior history. If their email has changed, update it before sending the invite.
Rehire
Rehire is a special case of reactivate: the person is genuinely returning, often after a longer absence, and you want to mark the rehire date for reporting.
- From the deactivated record, click Rehire.
- Set the new start date.
- Reassign manager and department (these are typically different the second time around).
- Send invitation.
The audit log captures both the deactivation and the rehire so historical context is preserved.
Archive
Archive is for records you no longer want appearing anywhere by default — typically employees who left more than a year ago, or test accounts you no longer need.
Archived records:
- Do not appear in employee selectors anywhere in the app.
- Do not count toward your seat total.
- Remain in the audit log and in any historical observation/summary references.
- Can be unarchived if needed.
You cannot archive an active employee. Deactivate first.
Changing reporting lines
Managers and their direct reports change all the time — reorgs, promotions, transfers. You can change a reporting line three ways:
- From the employee record: open the record and edit the Manager field.
- From the Org Chart: drag the employee under a new manager.
- In bulk: re-run a CSV import with updated
manager_emailvalues, or use the bulk-edit selector on the Employees page.
When a reporting line changes:
- Future observations, summaries, and objectives flow to the new manager.
- Past observations remain visible to the previous manager (they wrote them).
- In-flight summaries stay with the original author until completed; you can manually reassign if needed.
- The new manager gets a notification.
HRIS-synced employees
When HRIS integration is enabled (Agentic plan; see Integrations):
- New employees in your HRIS appear in Performance Blocks within minutes of being added (depending on sync cadence).
- Departures in your HRIS deactivate the corresponding Performance Blocks record automatically.
- Field changes (department, manager, name) flow from HRIS to Performance Blocks on each sync.
- HRIS-owned fields are read-only in Performance Blocks; the lock icon indicates which.
You can still:
- Manage roles (HRIS rarely models Performance Blocks-specific roles).
- Set custom fields not mapped from HRIS.
- Override sync for specific records (use sparingly — overrides drift).
If you need to disconnect HRIS, all records become editable again. Existing data is preserved.
Search, filter, and bulk actions
The Employees page supports:
- Search by name, email, or any custom text field.
- Filter by role, department, status, manager.
- Sort by name, start date, last active.
- Bulk select for actions like reassign-manager or send-invite.
Use bulk select judiciously. Always confirm the selection count before applying a destructive action.
Frequently asked
Can an employee have multiple managers? No — Performance Blocks models a single reporting line. For dotted-line relationships, use observations and conversations between the dotted-line manager and the employee directly; the formal review path stays with the primary manager.
What happens to in-flight observations when an employee deactivates? They remain on the record. The author can still see what they wrote; the deactivated user cannot.
Can I delete an employee permanently? Not from the admin UI. Hard deletes are only available via support request and require a documented reason (typically GDPR / right-to-be-forgotten requests). Deactivate or archive instead.
Why does my CSV import keep failing on dates? Use ISO 8601 (YYYY-MM-DD). Excel often saves dates in regional formats; check the raw file in a text editor.
Next steps
- Departments and the org chart — group employees and visualize the hierarchy.
- Custom fields — extend the employee record with your own metadata.
- Audit logs — track every employee change.