General reference, Migrations and Deprecations

Migration Guide: Moving to the New Dashboard Sign-In

Dashboard is moving from the legacy login and roles to a new sign-in with role-based access control (RBAC). Each organization moves on its own schedule, agreed with your Incode representative. Everyone keeps the access they have today, and your administrator reviews roles after migration. When your organization's end date passes, the legacy login stops working.

At a glance

Enforcement date Agreed with your Incode representative, no later than 31 March 2027.
What's changing Dashboard users sign in at your organization's own Dashboard address, and their access comes from specific roles and permissions instead of general, legacy roles and x:all permissions.
Who's affected Every organization whose team signs in to Dashboard with the legacy login, and any integration that authenticates as a Dashboard user, such as with /executive/log-in.
How to check If your users have legacy roles such as Admin, Executive, or Executive with Custom Permissions, your organization needs to migrate. To find integrations that authenticate as a Dashboard user, search your code for /executive/log-in. Then work through Find your scenario.
Grace period None after your end date. See Enforcement.

Warning

During the entire migration window, make every user and permission change in the new sign-in. Treat Dashboard via the legacy login as read-only. Changes don't carry over from one to the other. For details, refer to During the migration window.

What is changing

What it is Status
Legacy login Signing in at the shared Dashboard address. Access comes from a general, legacy role, such as Admin or Executive, and per-user x:all permissions. Being retired on your organization's end date
New sign-in Signing in at your organization's own Dashboard address, with a password or your company account. Access comes from specific roles and permissions. The supported path going forward

Key concepts

  • Migration window: The period when both the legacy login and the new sign-in work. It starts when your Incode representative turns on the new sign-in for your organization and ends on your end date.
  • End date: The date the legacy login stops working for your organization. You agree on it with your Incode representative, and it is never later than 31 March 2027. A shorter window means less time keeping the two sides in step.
  • Migrated role: A role created from a user's legacy access and named after it: for example, "Admin Legacy Role". Migrated roles are created in your organization, and you can edit them like custom roles. For details, refer to How legacy access maps to roles.
  • Service account: A legacy Dashboard user that one of your integrations depends on. Service accounts are not tied to a person accessing Dashboard. They are never migrated, and they keep working through the API after your end date. For details, refer to Scenario 1.

Migration steps

Every organization follows the same steps. Which steps apply to you and what your administrator does in them depend on your scenario.

Step What happens Who
1 Agree on your end date, Dashboard address, first administrator, and service accounts. You and your Incode representative
2 Turn on the new sign-in for your organization. Your Incode representative
3 Mark service accounts. Your Incode representative
4 Migrate your first administrator and give them the roles they need to migrate everyone else. Your Incode representative
5 Set up company sign-in. This only applies to teams that sign in through an identity provider (Scenario 3). Your administrator
6 Migrate everyone else. Your administrator
7 Accept the invitation and sign in. Each user
8 Review roles. Your administrator
9 On your end date, the legacy login turns off. Automatic
10 Optional: Set up two-factor authentication. Your administrator

Enforcement

Every organization must have an end date. On your selected end date:

  • Users who haven't been migrated cannot sign in. Your administrator can still migrate them afterward, and they then sign in at your new Dashboard address.
  • Service accounts keep working through the API, but cannot sign in to Dashboard using the legacy login.
  • There is no way back to the legacy login.

Your Incode representative can change your end date at any time before it passes. The new date can be earlier or later, but no earlier than the next day.

Find your scenario

Identify every scenario that applies to your organization. Every organization follows either Scenario 2 or Scenario 3, depending on how your team signs in. If an integration signs in as a Dashboard user, Scenario 1 also applies.

# Applies when What to do
1 An integration authenticates as a Dashboard user: for example, to get an admin token. Before your end date, tell your Incode representative which users your integrations depend on, so they're marked as service accounts.
2 Your team signs in with a username and password. Your administrator migrates users, and each user accepts an emailed invitation.
3 Your team signs in with their company account through an identity provider, such as Okta or Microsoft Entra. Create a new app in your identity provider, set up company sign-in, then migrate users.
— None of the above. Contact your Incode representative or use the customer portal.

Scenario 1: Integrations that use a Dashboard user

Applies when: a backend-to-backend integration authenticates as a Dashboard user using the legacy login. For example, it calls /executive/log-in with a user's email and password to get an admin token.

What to do instead: have the user marked as a service account before your end date. Service accounts are never migrated, and they keep signing in through the API after your end date. Without this, the integration’s /executive/log-in calls start failing on your end date.

Prerequisites:

  • A list of the legacy Dashboard users your integrations depend on.

What the change looks like

  1. Give your Incode representative the list of users your integrations depend on. Do this early: ideally, before your administrator migrates anyone.
  2. Your Incode representative marks each one as a service account. Marked users appear on the Service Accounts tab of the Users page in Dashboard. A user can be marked at any time before your end date.
  3. The integration keeps signing in through the API, during the migration window and after your end date. Existing API keys keep working.

If a user was marked as a service account by mistake, your Incode representative or an administrator with the Access Manager role can switch it back to a regular user, and it can then be migrated. On the Users page, open the user’s row menu and click Turn into regular user. Likewise, if a user you meant to mark as a service account was already migrated, it can still be marked. Make either change before your end date, because the Users page may no longer be available after it.

Warning

Until your end date, every user can still sign in through the legacy login, so an integration keeps working whether or not its user is marked. On your end date, only service accounts can still sign in through /executive/log-in. Any integration whose user isn’t marked by then stops working.

After migration: Check your integrations

After your end date, a service account cannot sign in to Dashboard using the legacy login. Check that no one on your team relies on signing in as a service account to use Dashboard. Give those people their own users and roles in the new sign-in instead.

Scenario 2: Teams that sign in with a password

Applies when: your team signs in to Dashboard with a username and password.

What to do instead: your administrator migrates each user to the new sign-in. Each user then accepts an emailed invitation, enters a one-time code, sets a new password, and signs in at your new Dashboard address. Passwords cannot be carried over, so every user must do this.

Prerequisites:

  • Your end date, Dashboard address, and first administrator agreed with your Incode representative.
  • Your first administrator migrated, with the roles to manage users. Your Incode representative does this.

What the change looks like

  1. Your Incode representative migrates your first administrator. They keep their current access as migrated roles. Your Incode representative also gives them the Access Manager and Configuration Manager roles, because migrated roles never include managing users or organization setup. Without these, your administrator cannot migrate anyone.
  2. Your administrator migrates everyone else. On the Users page in Dashboard (not the Users tab in Organization), signed in with the new sign-in, they can migrate users one at a time, migrate a selection, or click Migrate all users. Each user's status updates as they move. For details, refer to Migration statuses.

Tip

Migrate one user first. Have them sign in and check their access, then migrate the rest.

  1. Each user accepts their invitation. They receive an email titled "Get access to your Incode Dashboard" and click Set up your account. They enter the one-time code sent to their email, set a password, and sign in at your new Dashboard address. The invitation link lasts 48 hours and works once. If it expires, they click Send me a new link.
  2. Optional: Your administrator sets up two-factor authentication after everyone is migrated.

The one-time code in the invitation only confirms the user's email address. It doesn't turn on two-factor authentication, which is a separate organization setting.

Who gets migrated

  • Users blocked from Dashboard via the legacy login are migrated too, but arrive deactivated and don't get an invitation. To leave someone out, migrate a selection instead of everyone.
  • Incode staff in your organization aren't migrated. Their status shows as Not migratable.
  • Service accounts aren't migrated. For details, refer to Scenario 1.

After migration: Review roles

Every migrated user starts with migrated roles that match their legacy access. Your administrator can keep them, edit them like custom roles, or move users to default roles.

Check these in particular:

  • Users with Limited Visibility can now export sessions. Migrated roles include session export. To keep the old restriction, give these users a role without sessions:export. For details, refer to Limited Visibility.
  • Users with no role can sign in but cannot do anything. Assign them a role.

Scenario 3: Teams that sign in through an identity provider

Applies when: your team signs in to Dashboard with their company account through an identity provider, such as Okta or Microsoft Entra.

What to do instead: create a new app for Incode in your identity provider, then connect it to Dashboard by setting up company sign-in on the Setup tab. Your existing app stays active, so the legacy login keeps working until your end date. Users then sign in at your new Dashboard address and keep their migrated access.

Prerequisites:

  • Your end date, Dashboard address, and first administrator agreed with your Incode representative.
  • Someone who can configure your identity provider.
  • A decision on where roles will come from. For details, refer to Choose how users and roles are kept updated.
  • Your first administrator migrated, with the roles to manage users and organization setup. Your Incode representative does this.

Choose how users and roles are kept updated

The migration steps are the same for every identity provider setup. What differs is who keeps users and roles updated afterward.

Setup Users Roles
Company sign-in only Migrated. New users are created the first time they sign in, with no role until your administrator assigns one. Assigned in Dashboard (Manual).
Company sign-in and user sync for users User sync (SCIM) creates, updates, and deactivates them. Assigned in Dashboard (Manual).
Company sign-in and user sync for users and roles User sync, as above. From user sync. Each group is mapped to a role on the Groups tab.

Danger

When you switch where roles come from to SCIM, every user’s migrated roles are removed, including your administrator’s. Users then get roles only from the group mappings on the Groups tab. If you haven’t mapped your groups yet, everyone loses their access, and your administrator may not be able to fix it. Map your groups to roles first, then switch.

What the change looks like

  1. Your Incode representative migrates your first administrator and gives them the Access Manager and Configuration Manager roles. Without Configuration Manager, your administrator cannot set up company sign-in.
  2. Create a new app for Incode in your identity provider, and assign your users to it. Keep your existing app active, so the legacy login keeps working during the migration window.
  3. Your administrator sets up company sign-in with OIDC or SAML, on the Setup tab of the Organization page.
  4. If roles will come from user sync, your administrator maps each group to a role on the Groups tab before switching where roles come from.
  5. Your administrator migrates everyone else, as in Scenario 2, step 2.
  6. Each user signs in at your new Dashboard address. They don't get an invitation email. Their first sign-in links them to their migrated user, so they keep their migrated roles. Share the new address with your team.

Users must be assigned to the new Incode app in your identity provider to sign in. Users who were never migrated are created the first time they sign in. What they can do depends on where roles come from:

  • Manual: They can sign in, but cannot do anything until your administrator assigns them a role.
  • SCIM, IdP groups claim, or IAM roles claim: They get the roles set up for them in your identity provider.

After migration: Review roles and remove the old app

  1. Review roles, as in Scenario 2.
  2. After your end date, remove the old Incode app from your identity provider. It no longer does anything.

During the migration window

Your organization's users exist in Dashboard via both the legacy login and the new sign-in, and changes don't carry over from one to the other.

Change Where to make it What happens on the other side
Permissions New sign-in only. Dashboard via the legacy login shows migrated users as read-only.
Delete or block a user Both sides, separately. Nothing. A user blocked only from Dashboard via the legacy login can still sign in to the new one.
Add a user Either side. The user exists only where they were added. A user added in Dashboard via the legacy login must then be migrated.

To avoid gaps, add new users in the new sign-in, and when someone leaves, remove them on both sides.

Migration statuses

When you’re signed in to Dashboard with the new sign-in, the Users page in the left menu shows each user’s migration status. The Users tab in Organization doesn’t show these statuses.

Status Meaning
Not migrated Only in Dashboard via the legacy login.
Sent Migration started. Changes to Migrated once the new sign-in confirms it.
Migrated In the new sign-in.
Manually created Added directly in the new sign-in with the same email address.
Not migratable Incode staff in your organization.
Service account Marked as a service account. Never migrated.

How legacy access maps to roles

Each legacy role becomes one migrated role, named after it, with a fixed set of permissions. No one is moved to a default role automatically. After migration, your administrator can move users to default roles.

Legacy role What it becomes
Executive Executive Legacy Role: view, list, review, and export sessions, correct OCR data, and onboard manually. Own records only is turned on for the user.
Executive with Custom Permissions One migrated role per legacy permission: for example, Legacy sessions:all Role. A user with three custom permissions gets three roles. ALL becomes one role with all of them.
Admin Admin Legacy Role: most of the organization. Doesn't include users, roles, service accounts, or organization setup.
Admin of Multiple Organizations Multi Org Admin Legacy Role: the same permissions as Admin, plus access to each organization on the user's list.
Integrator Integrator Legacy Role: Admin, plus API keys and viewing and creating child organizations.
Workforce Admin, Helpdesk Staff, Recruiter Each becomes its own Legacy Role.
Any other type Migrated with no role. The user cannot do anything until a role is assigned.

Legacy permissions

Legacy permissions for the Executive with Custom Permissions role each become their own migrated role with the matching new permissions. Some are handled differently:

Legacy permission What happens
users:all Carries nothing over. For security, user management is given separately.
status:all Controls access to the external status site. Carries nothing over.
cms:agent Becomes its own role: view and assign cases.
cms:reviewer Becomes its own role: view, edit, and review cases. Own records only is turned on, unless the user is also an agent.
configuration:all One role with all configuration areas.
ALL One role with every permission that has a mapping.

Limited Visibility

Limited Visibility in Dashboard via the legacy login does two things. Only one of them carries over:

  • Limits sessions to a time range: Carries over as the user's Limited Visibility setting. The time range is still set once for the organization.
  • Turns off CSV and PDF export: Doesn't carry over. To keep this restriction, give the user a role without sessions:export.

Own records only limits which records a user sees, not how old they are. It matches the legacy Executive role, not Limited Visibility.

Troubleshooting

Problem What to do
An invitation never arrives. Invitations go to the email address on the user's legacy account. Check that it's correct.
"This invitation has expired" Click Send me a new link on that page. A new invitation goes to the same address. No administrator is needed.
"This invitation has already been used" The user already set a password. They can sign in.
"This link has been replaced" A newer invitation was sent. Open the most recent email.
A user signs in but cannot do anything. They have no role. Assign one.
Your administrator cannot migrate anyone. They need the Access Manager role, and the new sign-in must be turned on with your Dashboard address set. Contact your Incode representative.
Your administrator cannot set up company sign-in. They need the Configuration Manager role. Contact your Incode representative.
A user cannot sign in through your identity provider. Assign them to the new Incode app in your identity provider.
A user wasn't migrated before your end date. They cannot sign in at the old address. Your administrator can still migrate them, and they then sign in at your new Dashboard address.