White-label payroll UI (iFrames)
Short answer: The white-label payroll UI is Worklio's hosted payroll application, embedded in your product with an iFrame. You get payroll screens without building them, and you brand them with your own logo, app name, support contacts, and colors. Your server requests a short-lived user token, and the iFrame opens signed in to a page or flow you choose.
If you want to design the payroll screens yourself, use the API or the component library instead. For how the three paths compare, see What is embedded payroll.
How it works
- Get a client token. From your server, request a token with the OAuth 2.0 client credentials flow at
{AuthUrl}/connect/token, using the scopeuser_token. Keep this token on your server. Credentials are issued per environment. See How to get API access. - Exchange it for a user token. Call
POST {ApiUrl}/token/user/with the client token as a bearer token. Specify the user (byemailortoken) and the page or flow to open. The response returns the app URL and auserToken. - Embed the application. Set the iFrame
srcto the app URL, with the user token in the URL fragment. - Listen for events. The iFrame sends
postMessageevents to your page, such as activity signals and, for named flows, height changes and user actions. See iFrame events (postMessage).
The full request fields, page names, flows, and worked examples are in Embedding the white-label UI (v2).
What the embedded UI looks like
In iFrame mode, the Worklio menu, logo, and user menu are hidden. The user stays on the page or flow you opened, with a "Back to starting page" link. The background is transparent, so you can place your own background behind the iFrame. To show navigation inside the iFrame, set the menu claim.
You can open pages for multi-admin, admin, and employee users, or named flows such as custom fields and onboarding.
What you can brand
Set branding through the API. Instance-wide settings apply across an instance (a group of managed companies). Company-specific settings apply to one company, set by companyId. Instance-wide settings may be overridden at the company level.
| Setting | Instance-wide | Company-specific |
|---|---|---|
| Logo (light mode) | POST /wep/brand/logo | POST /wep/companies/{companyId}/brand/logo |
| Logo (dark mode) | POST /wep/brand/logo-dark | POST /wep/companies/{companyId}/brand/logo-dark |
| App name | POST /wep/brand/app-name | POST /wep/companies/{companyId}/brand/app-name |
| Support email | POST /wep/brand/supportemail | Not available |
| Support phone | POST /wep/brand/supportphone | Not available |
| Custom colors | POST /wep/brand/custom-colors | POST /wep/companies/{companyId}/brand/custom-colors |
For request payloads, see the White-label API Guide. For the color settings (skin, primary and secondary colors, menu color, and shape), see Custom Colors Data Structure.
Pages in this section
| Page | What it covers |
|---|---|
| Embedding the white-label UI (v2) | Token exchange, modes, page names, named flows, and examples. |
| iFrame events (postMessage) | Events the iFrame sends to your page, and commands your page can send back. |
| Migrating from v1 to v2 | Changes from page numbers to page names, removed pages, and deprecated flows. |
| Embedding the white-label UI (v1, legacy) | The legacy embed guide. |
| Worklio Admin iFrame API (Back Office embed) | Embed Worklio admin screens for System Admin and Client Admin users. |
| White-label API Guide | Endpoints for logos, app name, support contacts, and colors. |
| Custom Colors Data Structure | The request structure for custom colors. |
Before you go live
- The
modeparameter is being retired in March 2027. After that release, the UI always runs in iFrame mode, and a Worklio link opened directly in a browser tab shows Unallowed Flow Context. If you send"mode": 1today, embed in an iFrame before then. - Use
page_name, notpage. The integerpageparameter still works but will be removed. See Migrating from v1 to v2. - Use v2. The v1 guide is legacy.
Next steps
- Get API access and test in the sandbox.
- Follow Embedding the white-label UI (v2) to open your first page.
- Set your branding with the White-label API Guide.
Updated 16 days ago
