Skip to Content
Wisteria is in beta — these docs are evolving fast.
IntegrationsHR connectors (Deel, Talenox, Workday)

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

  1. In Deel, go to Settings → Developer → Personal Access Tokens and create a token with People read access.
  2. In Wisteria, go to Settings → Integrations (or the Tools hub) and click the Deel card.
  3. 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

  1. In Talenox, go to Settings → API and generate an API key.
  2. In Wisteria, click the Talenox card under Integrations.
  3. Paste the API key and click Connect.

Run a sync

Click TalenoxSync 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

  1. In Wisteria, click the Workday card under Integrations.
  2. Enter the tenant URL, client ID, and client secret.
  3. Click Connect. Wisteria fetches an access token to verify the credentials.

Run a sync

Click WorkdaySync 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_tenant error — 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.
Last updated on