Skip to main content
Field sources let you decide which system is the source of truth for each piece of employee information in Windmill. You might sync job titles and managers from your HRIS (Human Resources Information System), pull profile pictures from Slack, and manage job levels by hand. Windmill enforces your choices: only a field’s assigned source can update it, so a sync never overwrites data you manage elsewhere. You set sources in two places:
  • Company defaults apply to every employee. For example, “BambooHR owns job titles.”
  • Per-person overrides apply to a single employee and take priority over the defaults. For example, “manage this employee’s first name manually.”

How field sources work

Every field on an employee profile (name, job title, manager, start date, and so on) has a source. The source is either a connected integration (your HRIS, Slack, Google Workspace, Outlook, or SCIM) or manual, meaning the field is edited by hand in Windmill. The source controls who can write the field:
  • An integration source updates the field automatically on each sync. The field is locked in the employee editor so a stray edit doesn’t fight with the sync.
  • SCIM source will update the field when new data is pushed from the IdP into Windmill.
  • A manual field is yours to edit in Windmill. No other sources will ever write to it.
  • A field with no source set behaves like a manual field until you assign a source or a connected integration starts supplying it.
You can see each field’s source at a glance in Settings > Org Chart. Cells show the logo of the integration that manages the value, a pencil icon for manually managed fields, and a spinner while a sync is in progress. Hover over the icon to see details, like “Syncing from Rippling” or “Managed manually.”
Windmill keeps a history of every source change and field update, including who made the change and where the value came from.

Setting company defaults

Company defaults define the org-wide source of truth for each field.
1

Go to Settings > Org Chart

Open the Org Chart.
2

Open the Company defaults tab

You’ll see every employee field grouped into Personal, Role & reporting, Employment, and Contact.
3

Choose a source for each field

Each field lists the connected systems that can supply it. Pick one, or select Not set to clear the source and manage the field manually.
Changes apply on the next sync, not immediately. HRIS data syncs daily, so a new source can take up to a day to bring its values in. See Data Sync and Freshness for timing by integration. When you update a source from an integration, a sync will be triggered immediately, but can take up to 10 minutes to propagate.
The Company defaults tab shows sources once you’ve connected an integration that can supply employee fields. Until then, every field is managed manually.

Overriding sources for one employee

Sometimes one person is the exception: a contractor who isn’t in your HRIS, or an executive whose title you want to control directly. Per-person overrides handle these cases without changing your company defaults.
1

Go to Settings > Org Chart

Open the Org Chart.
2

Open the employee

Select the employee row to open the employee details.
3

Open the Sources tab

Each field shows its current source. Fields that differ from the company default are labeled as overrides.
4

Choose a source for the field

Pick the system that should manage this field for this employee. Select Not set to clear the override and fall back to the company default.
To undo all of an employee’s overrides at once, select Reset overrides on the Sources tab. The fields fall back to your company defaults on the next sync.

Editing a synced field

Fields owned by an integration appear locked on the employee’s Info tab, with a hint like “Synced from BambooHR. Editing creates a manual override.” You can still edit the field. When you save, Windmill switches that field to manual for that employee (a per-person override), and the integration stops updating it. This is useful when your HRIS has a stale value and you need the fix in Windmill now. To hand the field back to the integration later, clear the override on the employee’s Sources tab. The integration takes over again on its next sync.
A manual override sticks until you clear it. If you fix a value in Windmill, also fix it in the source system, or the two will stay out of sync.

Which sources can manage which fields

Not every system can supply every field. Windmill only offers sources that actually provide the data. SCIM (System for Cross-domain Identity Management) appears as a source if your identity provider provisions users into Windmill. See SSO and SCIM.

Who can manage field sources

Only Admins and HR Admins can change company defaults and per-person overrides. Team Members, Integration Managers, and Data Analysts can’t view or edit field sources. See Permissions and Access for the full role breakdown.

FAQs

Nothing is deleted. The current value stays in place, and the new source brings in its value on its next sync. Changes apply on the next sync, not immediately.
The field is synced from an integration, shown in the field’s hint. You can still edit it. Saving the change creates a manual override for that employee, and the integration stops updating that field.
Fields on manually created employees start without a source. When you connect an HRIS that includes the employee, it picks up those fields on its first sync. Fields you’ve edited by hand in Windmill stay manual until you assign them a source.
Yes, that’s the main use case. Set each field’s company default independently. For example, sync managers and titles from your HRIS and manage job levels by hand in Windmill.
No. Without a connected integration, every field is managed manually and there’s nothing to configure. Sources appear once you connect an integration that can supply employee data.