Easyteam Embedded
GuidesAPIWhite-Label UIs
GuidesAPIWhite-Label UIs
  1. Development
  • Getting Started
    • Introduction
    • Why Choose Easyteam Embedded
  • Development
    • Overview
    • Authentication
    • Web Integration
    • Mobile SDK Integration
    • Passing Data
    • Using Identifiers
    • Events
    • Error Handling
  • Going Live
    • Data Security
    • Support
  • Embedded Workforce Management
    • Organizations & Locations
    • Employees
    • Permissions
    • Compliance
  • Embedded Time Tracking
    • Time Clock
    • Timesheets
    • Breaks
    • Geofencing
    • Timezones
  • Embedded Scheduling
    • Overview
    • Availability & Open Shifts
    • Multi-Location Scheduling
    • Publishing Schedules
    • Working with Time Off in Schedules
    • Notifications on Schedule Actions
    • Calendar Sync (Google / Apple Calendar)
  • Embedded Time Off Management
    • Overview
    • Time Off Policies
    • Requests & Approvals
    • Balance Tracking & Accruals
    • Carryover Rules
    • Time Off and Payroll Sync
  • Embedded Notifications
    • Overview
  • Payroll Integrations
    • Embedded Payroll with Salsa
      • What is Embedded Payroll?
      • Time & Attendance in Payroll
      • Money Movement and Compliance
    • External Providers
      • Embedded Payroll Integrations
  • AI-Native Integrations
    • Integrating an MCP Server with Easyteam
  1. Development

Passing Data

Easyteam's embedded components rely on your platform to provide real-time, contextual data at render time about the currently rendered company and employees.
This means your frontend is responsible for passing fresh, relevant employee, location, and organization metadata whenever Easyteam is initialized and keeping it updated.

Why This Matters#

Easyteam doesn’t store or cache employee PII: names, emails, pictures, or roles are used only for display purposes and never leave the browser. This ensures that:
Data remains fully under your control
No PII is stored in Easyteam’s backend
Easyteam interfaces always reflect your latest internal data
Your platform doesn't have to populate data in advance about the organizations and employees using your system.
💡
Read more in our Data Security Overview and Authentication Guide.

Best Practice: Lazy Load Fresh Data#

To maintain accuracy and privacy:
Always load employee/location/org data fresh from your backend at render time
Don’t preload or persist stale data between sessions
Trigger Easyteam only after this data is available (e.g., after login, or user context resolution)
This ensures correct role-based permissions, organization context, and schedule rendering.

Supported Interfaces#

Below are the supported object shapes for each data type, and how they should be passed into the launcher or provider.

Employee[]#

Each employee should be passed with information about a specific employee for rendering and permission purposes.
PropertyTypeRequiredDescription
idstringYesThe employee ID from your system. Used as the primary reference.
namestringYesDisplay name for the employee. Not stored by Easyteam.
picturestringNoOptional URL to the employee's avatar.
timeTrackingEnabledbooleanNoIf set to false, time tracking features will be hidden for this employee.
rolestring or RoleNoRole name (e.g., manager) or a reference to a Role object. See below.
payrollIdstringNoOptional identifier from your external payroll system.
isVisiblebooleanNoControls UI visibility without deleting the employee.
wagenumberNoOptional wage amount used for reporting purposes.
wageType'hourly' | 'weekly' | 'monthly'NoSpecifies how the wage should be interpreted.
deletedAtstring 'YYYY-MM-DD'NoIf the employee is soft-deleted. Typically used for archival visibility.
Make sure each id and locationId maps to identifiers from your platform.

Location[]#

Locations define the physical or logical places employees are assigned to.
PropertyTypeRequiredDescription
idstringYesUnique identifier for the location from your system.
latitudenumberYesLatitude coordinate for the location (used for geofencing/time clock).
longitudenumberYesLongitude coordinate for the location.
namestringNoHuman-readable name of the location.
timezonestringNoTimezone associated with this location
employees[employeeId: string] : {} or nullNoMap of employee IDs assigned to this location. Make sure the employees match the employees object. Allowed to set metadata about each employee

Set deleted_at : 'YYYY-MM-DD' on a location's employee assigment to mark them as not longer working there.
#

Organization#

The organization object describes the business entity using currently being displayed.
PropertyTypeRequiredDescription
idstringYesYour internal organization ID.
namestringYesCompany display name.
Read more about organizations in Organizations & Locations.

Example#

✅ This data is passed at runtime, used locally in the browser, and never persisted by Easyteam.

Security Reminder#

Easyteam uses signed JWTs to validate session context. The jwt you generate contains permission metadata, but no PII. See Authentication Docs for how to generate secure tokens.
For compliance, privacy, and event handling details, see:
Data Security & Privacy
Event Handling & Webhooks

Next Steps#

1.
Implement fresh data retrieval before initializing Easyteam
2.
Pass employees, locations, and organization objects as shown above
3.
Read about available events and UI triggers
Modified at 2025-06-26 11:56:41
Previous
Mobile SDK Integration
Next
Using Identifiers