HR connectors
Wisteria integrates with three HRIS platforms to keep your user list in sync with your headcount. When you run a sync, Wisteria pulls every active employee from your HR system and upserts them as Wisteria users — creating accounts for new employees and updating attributes for existing ones.
Available connectors: Deel, Talenox, Workday.
What syncing does
For each person returned by the HR system:
- If no Wisteria account exists for that email → creates a new account (role defaults to
learner, or whatever default department you specify). - If a Wisteria account already exists → updates
full_name,role(if provided),department_id(if provided),is_active. - If the person is marked inactive in the HR system → deactivates their Wisteria account (they can no longer sign in, but their completion records are preserved).
Syncing does not delete users — only deactivate. It does not override a user’s role if they’ve been promoted to trainer or admin in Wisteria; you can pass a role override explicitly in the sync if you want HR to be the source of truth.
Deel
Deel uses a personal access token (PAT) for authentication.
Connect
- In Deel, go to Settings → Developer → Personal Access Tokens and create a token with People read access.
- In Wisteria, go to Settings → Integrations (or the Tools hub) and click the Deel card.
- Paste the token and click Connect. Wisteria verifies it against the Deel API.
Run a sync
Click the Deel card → Sync now. Wisteria pulls all people from Deel (/rest/v2/people) and upserts them into Wisteria. You can optionally set a default department to assign to new users who don’t already have one.
The sync summary shows: created, updated, deactivated, and any errors (e.g. cross-tenant email conflicts).
Disconnect
Click the card → Disconnect. The Deel token is deleted from Wisteria. To also revoke from Deel’s side, delete the token in Deel’s developer settings.
Talenox
Talenox uses an API key for authentication.
Connect
- In Talenox, go to Settings → API and generate an API key.
- In Wisteria, click the Talenox card under Integrations.
- Paste the API key and click Connect.
Run a sync
Click Talenox → Sync now. Wisteria fetches all employees (/v1/employees) and upserts them. Set a default department to assign to new users without one.
Disconnect
Click the card → Disconnect.
Workday
Workday uses OAuth 2.0 client credentials (client_id + client_secret) plus your tenant’s REST API URL.
Prerequisites
Your Workday admin needs to set up an OAuth2 API Client in Workday with client_credentials grant type and appropriate worker read scopes. You’ll need:
- Tenant URL — your Workday REST API base, e.g.
https://wd2-impl-services1.workday.com/ccx/service/YOUR_TENANT - Client ID — from the OAuth2 API Client setup
- Client Secret — from the same setup
Connect
- In Wisteria, click the Workday card under Integrations.
- Enter the tenant URL, client ID, and client secret.
- Click Connect. Wisteria fetches an access token to verify the credentials.
Run a sync
Click Workday → Sync now. Wisteria uses the Workday Workers API (WQL or REST v1 fallback) to pull active workers and upsert them.
Disconnect
Click the card → Disconnect.
Notes on all HR connectors
- Sync is manual. There is no scheduled automatic sync — you trigger it from the card. If you want automated syncs, use the public API
/api/v1/users(scope:users:write) on a schedule from your own infrastructure. - Cross-tenant protection. If an email already exists in a different Wisteria workspace, the sync skips that person with a
cross_tenanterror — it will not move them between workspaces. - Audit log. Every sync is recorded in the audit log. The log entry includes counts and per-user outcomes.
- Credentials are encrypted at rest (AES-256-GCM) and never returned in plain text from the API.