Skip to content

The WebFrolic console, end to end

Every menu, tab, panel and setting in the administrator, help desk, employee and account consoles — what each one is, where to find it, how to use it, and when it is the right tool.

Reference IdentityAccess control TenancyHelp desk
Read time
28 min read
Updated
Updated 2 November 2026
Applies to
Console 2026.10

New here?

Start with the console tour, then jump to the section you need.

Take the tour
Quickstart About 10 minutes

Get a user signed in to your app in under 10 minutes

Four steps from an empty tenant to a working sign-in. Each one links to the full reference if you want the detail.

  1. 1

    Register the application

    Applications → Add a New Application. Pick OAuth2 · Code for a server-rendered app.

    Applications reference
  2. 2

    Add your redirect URL

    Exactly as your app sends it — scheme, host, path and trailing slash.

    Redirect URLs
  3. 3

    Create a group and a role

    Assign the application to the group, not to each person.

    Groups reference
  4. 4

    Sign in as a test user

    Add yourself to the group and run the flow end to end.

    Full walkthrough
# 1. register the app   2. get a token   3. read the signed-in user
curl -X POST https://auth.example.com/api/v1/applications \
  -H "Authorization: Bearer $WEBFROLIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "My app", "protocol": "OAUTH2_CODE",
        "redirectUrls": ["http://localhost:3000/callback"] }'
The whole quickstart in code: register the application, exchange the code for a token, read the signed-in user.

1. Console tour

What is WebFrolic?
An enterprise identity platform that combines customer identity (CIAM), workforce SSO, multi-tenant organisation management, RBAC and a built-in help desk in one console.
Who uses which console?
Administrators configure identity; support agents work tickets; employees self-serve access; every person manages their own account.
What protocols are supported?
SAML 2.0, OAuth 2.1 authorization code with PKCE, OpenID Connect, machine-to-machine client credentials, and SCIM for directory sync.
How is access decided?
Resources define what exists, scopes define the actions, roles bundle scopes, and groups carry roles to people.

Every console shares one shell: a dark top bar, a left navigation rail, and a content area with a heading band. Learn the shell once and the rest of the product is navigation.

console.webfrolic.com/admin/idp/home

Administrator

Configuration

Users

Groups

Authorization

Applications

Security

① rail

Identity provider Administrator ▾ ② switchers
Overview SettingsAudit ③ tabs

④ content cards

  1. The rail lists the sections you may open. Groups such as Configuration and Authorization expand in place; the item for the page you are on is highlighted.
  2. The switchers sit top right. Dashboard moves between the administrator, help desk, employee and account consoles. Role changes which role you are acting in.
  3. The tab strip under the page title holds the sub-pages of the thing you opened — a user, a role, an application.
  4. The content area is a stack of cards. Primary actions sit in the card header, destructive ones are outlined in red.
Where am I? The highlighted item in the navigation rail identifies the current section. Use the rail and page tabs to move between related areas.

2. Administrator console

WHAT THE ADMINISTRATOR CONSOLE CONTAINSConfigurationsite-wide setupIdentityusers, groups, tenantsAuthorizationroles, scopesApplicationsSAML, OAuth2, M2MSecurityfirewall, keys, logs
A high-level view of the main console responsibilities. The administrator rail also includes Devices, Authenticators, Connections, Automation, Vault, API Keys and Logs.

The administrator console is where identity is configured: who may sign in, how they prove who they are, and what they may reach afterwards. Open it from Dashboard ▾ → Administrator.

2.1 Configuration — how do I set up email, SMS and branding?

What it is. Site-wide settings for the identity provider itself: how people are onboarded, what the sign-in pages look like, and how messages leave the system.

Where. Rail → Configuration. The group expands into seven top-level pages. Several pages contain deeper settings for tenancy, sessions, security, recovery, mobile behavior, user lifecycle, SCIM attribute mapping and tenant or SCIM token firewalls.

PageWhat it controlsReach for it when…
GeneralIdentity provider type, terms of service and privacy URLs, support contacts, redirect after authentication, integrated application.First-time setup, or changing where people land after signing in.
BrandingWebsite layout: header for visitors, header for authenticated users, footer. Accepts raw HTML with a code / preview switch.Matching sign-in pages to your corporate site.
Email SettingsTabs for Providers, Test Domains, Test OTP Lookup, Employee Domains and Branding.Wiring an SMTP or API mail provider, or letting QA read OTPs.
SMS SettingsThe same shape as email: providers, test numbers, lookup, branding.Turning on one-time codes over SMS.
WebhooksOutbound notifications, the delivery log, and the endpoint allow-list.Keeping an external system in step with identity events.
.Well-Known ResourcesThe discovery documents other systems read.A partner asks for your issuer or JWKS URL.
FeaturesFeature switches for the whole site.Enabling tenancy, SCIM or a preview capability.

Setting up an email provider

Administrator → Configuration → Email Settings Live console
Screenshot of email provider settings in the WebFrolic administrator console
Each tab is one job: provider credentials, test domains, OTP lookup, employee domains and message branding.
  1. 1Configuration expands into seven pages.
  2. 2Five tabs; Test Domains keeps rehearsal mail out of real inboxes.
  1. Open Configuration → Email Settings and stay on the Providers tab.
  2. Choose your provider — SMTP, SES, SendGrid, Mailgun, Postmark, Resend or Cloudflare — and press Edit.
  3. Fill in the credentials. Secrets are write-only: once saved they show as masked and cannot be read back.
  4. Save, then use Test Domains to add a domain whose users will never receive real mail.
  5. Sign up a test user on that domain and read the code under Test OTP Lookup.
Tip. Add your QA domain to Test Domains before your first end-to-end test. It keeps rehearsal traffic out of real inboxes and makes codes readable in the console.
Note. Employee Domains decides who is treated as staff. Anyone signing up from a listed domain becomes an employee, which changes the console they land in.

2.2 Users — how do I manage customer and employee accounts?

What it is. Every person with an account, split into the four tabs Customers, Employees, Invitations and Profile Attributes.

Where. Rail → Users.

Finding someone

Administrator → Users → Customers Live console
Screenshot of the WebFrolic administrator console showing the customers list with search and per-row Manage actions
The customers list as it renders today. Employees, pending invitations and the attribute definitions sit on the sibling tabs.
  1. 1Section rail — the group you are in stays expanded and highlighted.
  2. 2Tab strip: customers and employees are deliberately separate lists.
  3. 3Search by email or customer ID; the filter persists across pages.
  4. 4Manage opens the person detail page. Available tabs depend on account type and enabled tenant features.
  1. Pick the right tab — customers and employees are separate lists.
  2. Search by email or ID in the search box above the table.
  3. Press Manage on the row to open the person's detail page.

The person detail page

Administrator → Users → person detail Live console
Screenshot of a user profile page in WebFrolic showing tabs, profile details and account state
A person detail page: identity on the left, account state and the destructive actions kept apart on the right.
  1. 1The available tabs cover profile, sign-in or service-user security, groups, roles, applications, optional employee vaults and tenant membership, supported devices, entitlements, sessions and activity.
  2. 2Profile attributes, including any custom fields you define.
  3. 3Account state: user type, credential status, profile completeness.
  4. 4Restrict this account — lock, deactivate and delete, separated from everyday edits.

The tab strip under the person's name shows the sections supported for that account type and current tenant configuration:

  • Profile — name, contact details and every profile attribute. The right column shows Account state and Restrict this account.
  • Credentials — the sign-in methods they hold; add, change or delete one.
  • Groups / Roles / Applications — what they belong to and may reach.
  • Tenants — the customer organisations they are a member of.
  • Devices — machines they have signed in from.
  • Entitlements — fine-grained grants beyond roles.
  • Session — live sessions, with the option to end them.
  • Activity — the audit trail for this person.
Careful. Lock blocks sign-in and is reversible. Deactivate removes access and schedules deletion. Delete now is immediate and permanent, and takes their data with it.

Profile Attributes

Attributes are the fields on everyone's profile. Each one carries a visibility, shown as a coloured chip in the list — click a chip to edit the attribute.

Blue Identifier — used to sign in.
Green Visible to user and administrators.
Yellow Visible to everyone, including the public.
Grey Administrators only.

2.3 Groups — how do I grant access to many people at once?

What it is. Bundles of people. Grant a role to a group and everyone in it inherits it, which is nearly always better than granting roles one person at a time.

How. Rail → Groups → Add New Group. Open a group to manage Members, Access and Audit. Groups can be marked SCIM-enabled so an external directory keeps membership in step.

Administrator → Groups Live console
Screenshot of the groups list in the WebFrolic administrator console
Groups carry roles. Grant access here once and every member inherits it.
  1. 1Each group can be SCIM-enabled so an external directory owns membership.
  2. 2Open a group for Members, Access and Audit.
WHY GROUPS, NOT PEOPLENew joineradded to groupGroupholds the roleRoleholds the scopesAccessgranted at sign-in
Assign roles to groups and a joiner needs no individual setup; a leaver loses access by leaving the group.
Best practice. Model groups on how work is actually organised — team, function, location — and let roles hang off the group. Joiners and leavers then become one edit.

2.4 Accounts & tenants — how does multi-tenant identity work?

What it is. Separate customer organisations inside one WebFrolic site. Each tenant has its own members, roles, domains and sign-in configuration.

Where. Rail → Accounts. Manage attributes beside the list edits the fields every tenant carries.

Administrator → Accounts (tenants) Live console
Screenshot of the tenant list in WebFrolic showing multi-tenant organisations
Each row is a separate customer organisation with its own members, roles, domains and sign-in rules.
  1. 1Home page and SCIM state per tenant.
  2. 2Manage opens the tenant with its own Members, Roles, Domains and Firewall tabs.

Inside a tenant you will find Home, Members, Groups, Roles, Access, Verified domains, SCIM firewall, Network firewall, SAML and OAuth2 configuration, Discovery and Audit.

TENANT SETUPCreate tenantAccounts → Add new AccountDomain verified?DNS record checkedyesStaff self-serveThey sign up and land in the tenantnoInvite onlyYou add the first administrator by hand
Verifying a domain lets a customer organisation onboard its own people; without it you invite the first administrator manually.

B2B patterns: what each customer organisation gets

CapabilityWhat the tenant administrator controlsWhat stays with you
MembersInvite, suspend and remove their own people.The attribute schema every tenant shares.
Groups & rolesTheir own groups, and roles scoped to their tenant.Role templates and any platform-wide role.
SSO per tenantTheir own SAML or OAuth2 connection, so staff sign in with their corporate identity.The protocols on offer and certificate rotation.
Verified domainsClaim a domain so their staff self-serve.Approval of the DNS proof.
Network rulesA tenant-level firewall for their own members.The site-wide firewall above it.
SCIMPoint their directory at the tenant to sync membership.Token issuance and the SCIM endpoint allow-list.
Delegated administration in practice. Give the customer a tenant administrator role and the "please add Bob" tickets stop reaching you. Their administrator never sees another tenant — confirm on their Access tab before handing over.
When to use tenants. Reach for them when your customers are organisations rather than individuals, and each needs its own administrators and sign-in rules.

2.5 Devices

What it is. Device records and the device inventory used by the identity console. The JSP views separate managed devices, personal devices and device SKUs. How. Rail → Devices. Use the relevant list to create, inspect or edit supported records; open a device to review its owner and available assignment details. Actions depend on the selected device type.

How. Rail → Devices. Open one to see its owner, first and last use, and to retire it.

2.6 Authorization — how do roles, scopes and resources (RBAC) fit together?

What it is. What may be done, and by whom. Three pages that build on each other.

PageAnswersExample
ResourcesWhat kinds of thing exist?invoice, group
ScopesWhat actions are possible on them?read, create, manageaccess
RolesWhich actions does this job need?Support agent, Finance approver
Resource ServerServer-side resource integration settings.Server type and endpoints, audit setting and resource-server access token

Role tabs

Administrator → Authorization → Roles Live console
Screenshot of a role detail page in WebFrolic showing permission and assignment tabs
A role is a job expressed as scopes on resources. Its tabs hold permissions, assignments, access and a network firewall.
  1. 1Home, Permissions, Assignments, Access, Network Firewall, Audit.
  2. 2Assurance level lives here — raise it to force step-up for this role only.
HOW A PERMISSION REACHES A PERSONResourcewhat existsScopewhat can be doneRolea job, as scopesGroupa teamPersoninherits access
Role-based access control in WebFrolic: define the resource and scope once, bundle them into a role, carry the role on a group.
  • Home — name, description, assurance level, and the enable / disable / delete actions.
  • Permissions — the scope-and-resource pairs the role grants.
  • Assignments — who holds the role.
  • Access — what the role reaches in practice.
  • Network Firewall — address rules that apply whenever this role is used.
  • Audit — every change made to the role.
Assurance level. Raising it on a sensitive role forces a stronger sign-in before the role can be used — the cleanest way to protect a small number of risky actions.

Permission-level API access

Configure API-key support for each resource permission

A resource can expose several actions, and API-key support is controlled per permission—not as a blanket switch for the whole resource. This lets an administrator decide which actions may be delegated to an integration or an AI agent, while keeping other actions available only through an authenticated, signed-in user session.

  1. 1. Open Authorization → Resources. Create or open a resource. The form supports a resource identifier, namespace, name, description, scope and a Discoverable setting. Scope controls whether a resource is restricted, global or tenant-scoped (when tenancy is enabled). Discoverable resources can appear in the employee Resource Catalogue.
  2. 2. Open the resource's Permissions. Add or edit a permission and review the API Support column. The permission editor exposes the API Key Support? setting. For system resources, the JSP states that permission definitions are static and only API support can be changed.
  3. 3. Decide which actions are safe to delegate. Enable API-key support only for operations intentionally designed for non-interactive callers. When disabled, that permission is not available through API-key authentication; the action remains for an authenticated, logged-in user flow.
  4. 4. Create an API key. Open API Keys → New API Key, provide a name, choose an expiry and select permissions. The creation screen groups permissions by resource and supports selecting all permissions for one resource or choosing individual actions.
  5. 5. Review and protect the key. The API Keys list exposes status, role, expiry, last-used information, permissions and firewall management. Inspect the permission list, configure network rules where required, and revoke a key if it is exposed or no longer needed.

Security principle. The API Support setting is an exposure control, not a replacement for authorization. The server must still validate the key, requested resource and permission, and the caller's applicable policy on every request. Prefer short-lived keys and the smallest permission set that satisfies the integration.

2.7 Authenticators — which multi-factor and passwordless methods are supported?

What it is. The ways a person can prove who they are: password, one-time code by email or SMS, TOTP app, passkey or security key, mobile push, mTLS, OAuth2 and security questions.

How. Rail → Authenticators, open one to edit. Each carries whether it may be used for sign-in, whether it may be used for recovery, and how many a person may hold.

STEP-UP AUTHENTICATIONUserApplicationWebFrolicsigns in normallyauthenticatetoken, standard assurancerequests a risky actionrole requires higher assuranceprompt for a stronger factorpasskey or one-time codetoken, raised assurance
Daily work keeps a single sign-in; the stronger check appears only when the role behind the action demands it.
Recommended. Allow passkeys for sign-in and keep one recovery method that does not depend on the same device.

2.8 Applications — how do I connect a SAML or OAuth2 application?

What it is. Every system that trusts WebFrolic for sign-in.

SAML

Established enterprise software.

OAuth2 · PKCE

Mobile and single-page apps.

OAuth2 · Code

Server-rendered web apps.

M2M

Service-to-service, no human present.

Opening an application gives you General, Redirect URLs, Scopes, Claims, Assignment settings, SCIM, Assignments, Groups, Firewall, Access and Audit.

SAML 2.0 SINGLE SIGN-ONUserApplicationWebFrolicDirectoryopens the appSAML AuthnRequest (redirect)sign-in pagecredential or passkeycheck group membershipgroups and attributessigned SAML assertionsession created
The SAML redirect flow. The assertion carries the claims you map on the application's Claims tab.
Administrator → Applications Live console
Screenshot of the applications list in WebFrolic showing SAML and OAuth2 clients
Every system that trusts WebFrolic for sign-in: SAML, both OAuth2 flows and machine-to-machine.
  1. 1Protocol and status per application.
  2. 2Open an application for Redirect URLs, Scopes, Claims, SCIM and Assignments.
Client credentialsOAuth2 · Code
client_id     = APPMURZ1MPSB1EER5
issuer        = https://auth.example.com/auth
authorize_url = {issuer}/oauth2/authorize
token_url     = {issuer}/oauth2/token
scopes        = openid profile email
Values shown on the application's General tab after you save it.
Redirect URLs. Must match exactly, including scheme and trailing slash. A mismatch is the single most common cause of a failed first connection.

2.8.1 Connections — where are external connections managed?

What it is. The separate Connections area in the administrator rail for managing configured external connections.

Where. Administrator console → Connections. The JSP views expose a connection list and create/edit flows, with detail areas for credentials, access, firewall rules, usage and audit.

Operational guidance. Review credential state and access settings before enabling a connection. Use its firewall and usage views to constrain and monitor use, and check its audit history when configuration changes need to be traced. The exact protocol and fields depend on the selected connection type.

2.9 Automation

What it is. Rules and workflows that act without anyone pressing a button: assign a role on signup, start an approval, react to an event.

How. Rail → Automation. Build a workflow from steps, then attach it to a rule — a signup rule, a group rule or an event.

USER ONBOARDING, END TO ENDPerson signs up or is invitedEmail domain decides customer or employee1Signup rule firesAutomation → rule, conditioned on the domain2Workflow adds them to a groupOne step: add to group3Group carries the roleNo per-person role assignment4Access works at first sign-inNothing left to do by hand5
Automated onboarding: the only manual work is building this once.
Good first automation. On signup from an employee domain, add the person to the All staff group. One rule, and joiners stop needing manual setup.

2.10 Vault — which stored values and signing keys are managed here?

Where. Administrator console → Vault. The rail contains four entries:

  • Secrets — sensitive values stored for use by configured services. Treat saved secrets as credentials and follow the UI's masked/write-only behavior.
  • Variables — non-secret values managed centrally rather than copied across configurations.
  • OAuth2 Secret — OAuth2-related secret configuration.
  • JWK Keys — JSON Web Key configuration for token-signing and verification use.

API Keys are a separate administrator-rail area, not a Vault submenu. See API Keys and permission-level support.

2.10.1 API Keys — how are API-key permissions and expiry configured?

Where. Administrator console → API Keys. This is a separate administrator-rail area from Vault.

ControlWhat the JSP exposes
NameA label to identify the key.
API Key ExpirationAn expiry choice, including “Never Expires (Not Recommended)”.
PermissionsPermissions grouped by resource. Select all permissions for a resource or choose individual permissions.
ManagementThe list displays status, role, expiry, last-used information, permissions and firewall controls. Separate views show assigned permissions and manage network rules.

Before creating a key, review the relevant resource permissions and enable API Key Support? only for actions intended to be callable with a key. A key's selected permission list should be the minimum set needed by its integration. Use an expiry, review last-used information and revoke keys that are no longer required.

Keep user and API-key access distinct. A disabled API Support flag is not a reason to issue a broader key. Keep non-delegated actions on authenticated user-session flows and verify that the server rejects attempts to invoke them with an API key.

2.11 Security — how do I restrict access by network and repeated failures?

PageWhat it doesUse when
Network FirewallAllow or deny network ranges for the identity provider.Restricting console or service access to approved networks.
Custom Rate LimitConfigure request-rate limits.Constraining a caller or protecting endpoints from excessive requests.
Friction LocksReview and manage account holds after repeated failures.Investigating or tuning responses to repeated sign-in failures.
Administrator → Security → Firewall Live console
Screenshot of the network firewall configuration in WebFrolic
Network rules for the identity provider. Related firewall controls also exist on supported roles, tenants, applications, connections and API keys.
  1. 1Allow and deny ranges in CIDR notation.
  2. 2Custom rate limits and friction locks are managed here; JWK Keys are under Vault.
Order matters. Add your own address to an allow rule before you add a deny rule, or you will lock yourself out of the console.

2.12 Logs

What it is. Operational log views for errors, webhook deliveries and transactions. Where. Administrator console → Logs, then choose the relevant view: Errors, Webhook or Transaction. Use the filters and record details available on that page to investigate the event type you selected.

How. Rail → Logs, then filter by date, actor or outcome. Individual records link back to the person or application involved.

3. Help desk console — how do support agents manage users without admin rights?

What it is. A ticket queue for people who support users but should not configure identity. Two desks — IT Service Desk and Customer Support — each with Board, My Tickets and Categories.

Where. Dashboard ▾ → Help desk. Both desks appear in the rail; the one you are working in is open.

HELP DESK ROUTINGTicket raisedFrom the account or employee consoleWhich category?Set on the ticketyesIT Service DeskStaff requests: access, devices, lockoutsnoCustomer SupportCustomer requests: sign-in, billing, profile
The category carries the assignment strategy, the SLA and whether agents may see profile details.
Help desk → IT Service Desk → Board Live console
Screenshot of the WebFrolic help desk ticket board with filters and SLA column
The ticket board. Both desks sit in the rail, and the category on a ticket decides where it lands.
  1. 1IT Service Desk and Customer Support are separate queues.
  2. 2Filter by priority, assignee and status.
  3. 3SLA countdown per ticket; overdue items are flagged.
  1. Open Board and filter by priority, assignee or status.
  2. Open a ticket to read its subject, description, attachments and comment history.
  3. Add a comment, attach a file, or reassign it.
  4. Close the ticket when the customer confirms, or escalate by changing category.
Categories do the routing. A category sets the assignment strategy, the SLA, and whether agents may see profile details or impersonate the customer.

4. Employee console

What it is. The self-service view for staff: discover resources, request access, track approval tasks, see applications and groups, find colleagues and raise support tickets. Where. Dashboard ▾ → Employee. The JSP views include the resource catalogue and access requests, approval tasks, People, Applications, My Groups and IT Service Desk. Available items depend on the account and enabled features.

Where. Dashboard ▾ → Employee.

  • Self service — request access and track approvals.
  • People — the staff directory.
  • Applications — what the person can open.
  • My Groups — membership, and groups they own.
  • IT Service Desk — raise and follow tickets.

5. My account — what can every user change themselves?

Everyone has this, whatever their role. Dashboard ▾ → My account.

My account → Personal API keys Live console
Screenshot of the personal API keys page in the WebFrolic account console
What every person can do for themselves — the self-service that keeps routine requests off the help desk.
  1. 1Profile, credentials, communication methods, sessions, keys and support.
  2. 2Personal API keys are managed from the account area; review their selected permissions and expiry before sharing them with an integration.
PageWhat you can do
ProfileName, contact details, and the attributes others see.
CredentialsAdd, change or remove sign-in methods; set up recovery.
Communication methodsWhere codes and notices are sent, and which are confirmed.
SessionsWhere you are signed in now; end a session you do not recognise.
Personal API keysKeys that act as you, with the permissions you choose.
Customer supportRaise a ticket and follow it.
DeactivateClose your account; an administrator can restore it later.
Before you travel. Add a recovery method that does not rely on your phone number if you are changing SIM.

6. Appearance & theming

The console follows your system light or dark setting, and the switch in the top bar overrides it. Three states, and your choice is remembered on that browser.

☀ ☾ 🖵
  • Sun — always light.
  • Moon — always dark.
  • Monitor — follow the system, and change live when it does.
A manual choice wins until you press Monitor again. The preference is per browser, so it does not follow you to another machine.

7. Troubleshooting

Someone cannot sign in ▾
  1. Open the person and check Account state — locked, deactivated or invited but never completed?
  2. Check Credentials: do they hold a method that is allowed for sign-in?
  3. Check Security → Friction locks for a hold after repeated failures.
  4. Check Security → Firewall and any role firewall for an address rule.
  5. Read Logs for the attempt itself; the reason is recorded there.
An application rejects the sign-in ▾
  • Compare the redirect URL character for character.
  • Confirm the scopes the app asks for are on its Scopes tab.
  • Check Assignments — the person may simply not be assigned the app.
A role change had no effect ▾

Tokens already issued keep their old claims. Ask the person to sign out and in again, or end the session from their Session tab.

Still stuck?

Raise a ticket from My account → Customer support and include the time, the person's ID and what you expected to happen.

Related reading

Get new guides as they land

One short email when we publish something worth your time. Product notes, migration guides and the occasional post-mortem. No marketing.