Adding employees

Manually, via CSV, or by sync from Square / Gusto.

Three paths to populate your roster, in increasing speed:

1. One at a time

/dashboard/team → Employees tab → Add Employee. The fields:

Field Required? Purpose
Name Yes What shows on the schedule grid + in messages
First / last name No If you want to address them by first name in templates
Designation No (default: Employee) Role label (e.g. "Server", "Lead Bartender")
Employment type No (default: full_time) full_time / part_time / contractor — used for payroll + rules
Email No Required if you want them on the publish email list
Phone No Required for SMS shift alerts and Text-to-Timely
Notes No Internal notes — visible to managers, not employees
Hourly rate No Cents per hour for labor cost calculations
Pay type No hourly / salary / none
Tags No See Tags

After save, the employee appears in the schedule grid immediately. You can start assigning shifts right away.

2. CSV import

For more than ~5 employees, CSV is fastest. /dashboard/team → Employees tab → Upload CSV.

The expected format:

name,email,phone,employment_type,hourly_rate
Sarah Chen,sarah@example.com,+15551234567,full_time,18.00
Mike Patel,mike@example.com,+15555551111,part_time,16.50
Tara Moss,,+15555550000,part_time,

A few notes:

  • Headers required. The first row must be column names.
  • Name is the only required column — everything else is optional. Empty cells are fine.
  • Phone format — we normalize on import. (555) 123-4567, 5551234567, and +15551234567 all work.
  • Dedupe — if a row's email or phone matches an existing employee, the row is treated as an update, not a duplicate.
  • Tags — pass tag names comma-separated in a tags column. Tags that don't exist yet are auto-created.

You'll see a preview before committing the import. Common mistakes (a phone number that didn't parse, a duplicate name) show inline so you can fix the CSV and re-upload.

3. Sync from an integration

If you already use Square POS or Gusto, you can pull the roster automatically.

Square — Settings → Integrations → Square → Connect → after OAuth completes, "Import Employees" button appears. Click it; Timely pulls the list and shows a mapping screen where you can match Square team members to existing Timely employees (or create new ones).

Gusto — same flow under Integrations → Gusto. Pulls active employees with their employment types and pay rates. PTO balances are also synced if you connect the optional PTO scope during OAuth.

After the initial import, you can re-sync any time — new employees added on the integration side appear in a "ready to import" list. Existing mapped employees stay linked across syncs.

Removing employees

Two options, depending on what you mean:

  • Soft remove — toggle the employee to "inactive" on the Team page. They keep their data + schedule history but stop appearing in the schedule grid for new weeks.
  • Hard delete — Team page → click employee → Delete. Removes the employee row entirely. Schedule history is retained for analytics (the rows are tagged with the employee's id even after deletion), but the employee disappears from the UI.

Hard delete also unsubscribes them from any SMS, removes their tags, and disconnects them from any integration mappings. There's no undo — re-add them as a new employee if you need to.

Found a typo or something missing? Let us know.