diff --git a/package-lock.json b/package-lock.json
index de0d487eb..8a937906a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -559,7 +559,6 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz",
"integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==",
- "dev": true,
"optional": true,
"dependencies": {
"tslib": "^2.4.0"
@@ -1070,7 +1069,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -1092,7 +1090,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -1114,7 +1111,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -1130,7 +1126,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -1146,7 +1141,6 @@
"cpu": [
"arm"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1162,7 +1156,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1178,7 +1171,6 @@
"cpu": [
"s390x"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1194,7 +1186,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1210,7 +1201,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1226,7 +1216,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1242,7 +1231,6 @@
"cpu": [
"arm"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1264,7 +1252,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1286,7 +1273,6 @@
"cpu": [
"s390x"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1308,7 +1294,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1330,7 +1315,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1352,7 +1336,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -1374,7 +1357,6 @@
"cpu": [
"wasm32"
],
- "dev": true,
"optional": true,
"dependencies": {
"@emnapi/runtime": "^1.2.0"
@@ -1393,7 +1375,6 @@
"cpu": [
"ia32"
],
- "dev": true,
"optional": true,
"os": [
"win32"
@@ -1412,7 +1393,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"win32"
diff --git a/src/content/docs/get-started/guides/byo-code.mdx b/src/content/docs/get-started/guides/byo-code.mdx
index 413688298..58226bbb9 100644
--- a/src/content/docs/get-started/guides/byo-code.mdx
+++ b/src/content/docs/get-started/guides/byo-code.mdx
@@ -1,19 +1,27 @@
---
page_id: 5c7de06d-f065-4a8a-81cb-f6914ee374f7
-title: Connect existing code base to Kinde
+title: Add Kinde auth to your codebase
sidebar:
- order: 3
-description: Guide for connecting existing codebases to Kinde including SDK selection, app configuration, callback URLs, and environment setup.
+ order: 2
+ label: Add Kinde to your codebase
+tableOfContents:
+ maxHeadingLevel: 3
+description: Guide for adding Kinde authentication to an existing codebase, how to customize your setup, and how to build and deploy your app.
relatedArticles:
- 08415f77-cd58-498d-b3b2-d1cdda162153
- 684fc526-a338-4a67-9af6-742a39b66aff
app_context:
- - m: default
- - m: login
- - m: register
+ - m: settings
+ - s: applications
topics:
- get-started
- guides
+ - authentication
+ - configuration
+ - environments
+ - deployment
+ - apis
+ - testing
sdk: []
languages:
- bash
@@ -22,101 +30,225 @@ audience:
complexity: intermediate
keywords:
- existing codebase
- - sdk documentation
+ - SDK installation
+ - starter kit
- app keys
- - callback urls
+ - client ID
+ - client secret
+ - callback URLs
+ - redirect URLs
- environment variables
+ - .env file
- user registration
- - setup tasks
-updated: 2025-11-11
+ - test environment
+ - API registration
+ - audience claim
+ - machine to machine
+ - M2M app
+ - management API
+ - deploy to production
+ - Vercel
+ - Netlify
+ - Cloudflare Workers
+ - workflows
+ - webhooks
+ - end-to-end testing
+updated: 2026-04-28
featured: false
deprecated: false
-ai_summary: Guide for connecting existing codebases to Kinde including SDK selection, app configuration, callback URLs, and environment setup.
+ai_summary: "Walks developers through adding Kinde authentication to an existing codebase. The quickstart covers six steps: creating or reusing a Kinde application, choosing between a starter kit or manual SDK installation, setting callback and redirect URLs, copying app keys (domain, client ID, client secret), adding them to a .env file, and testing user registration. The build and deploy section explains how to create non-production test environments, register back-end APIs so they appear in access token audience claims, and use the Kinde Management API via a machine-to-machine application to automate admin tasks like managing users, roles, and permissions. Also covers deploying to Vercel, Netlify, or Cloudflare Workers. Advanced topics link to Workflows for custom auth logic, webhooks for event-driven integrations, copying configuration across environments, and end-to-end testing."
---
-Once you’ve got a [Kinde business and domain](https://app.kinde.com/register), you’re ready to get started.
+Once you have [completed the onboarding process](/get-started/guides/first-things-first/), you are ready to add Kinde auth to your codebase.
-You’ve got a couple of options:
+## What you need
-- **Fast and easy** - Access the guided **Quick start** via the application tile on the Kinde home page, and follow the in-app instructions for using your own codebase.
-- **DIY** - Follow the instructions below.
+- A [Kinde](https://kinde.com) account with **admin** or **engineer** access
+- Familiarity with your preferred programming language and framework
-## 1: Get your SDK
+## Quickstart
-Browse [our SDK documentation](/developer-tools/about/our-sdks/) for the one you want.
+### 1. Create a new application in Kinde
-SDK documentation contains language-specific instructions for connecting to Kinde. The steps in this document provide an overview of what you need to do.
+During the onboarding process, you created an application in Kinde. You can use this application by going to your Kinde dashboard and selecting **View details** on that application tile. Skip to the next step (use a starter kit or install manually).
-If we don’t have the language or framework you’re looking for, and you’re an experienced developer, try [using Kinde without an SDK](/developer-tools/about/using-kinde-without-an-sdk/). You can also [request an SDK](https://kinde-21631392.hs-sites.com/en-au/feature-request).
+If you want to start over, follow the steps:
-## 2: Add your application in Kinde
+1. Go to your Kinde dashboard and select **Add application**.
+2. Enter a name for the application (e.g., "My Next.js App"), select the type of application, and select **Save**.
-Next, you’ll want to connect your code base to the application you set up in Kinde.
+
-Follow these steps to [add a new application to Kinde](/build/applications/add-and-manage-applications/). Kinde also comes with a couple of pre-built applications and you can use those ones if they suit.
+ If you are unsure about which application type to select, head over to our [SDK page](/developer-tools/about/our-sdks/) and find the language or framework you are using. For backend/fullstack apps, select **Back-end web**. For client-side apps like web and mobile, select **Front end and mobile**.
+
+3. Select the application language/framework (e.g., Next.js) and select **Save**.
-Sign in to Kinde and go to **Settings > Applications**.
+ 
- 
+### 2. Use a starter kit or install manually
-## 3: Get app keys
+On the **Quick start** page of your application, you have two options:
-View details of your application in Kinde and scroll down to [copy the App keys](/get-started/connect/getting-app-keys/). You’ll need to add these to your project’s `.env` file.
+- **Starter kit**: If you are starting a brand new project or you just want to have a play around, using one of our starter kits gives you a ready-to-use project with Kinde already integrated with your tech of choice. Grab a starter kit from [GitHub](https://github.com/kinde-starter-kits).
+- **Existing codebase**: If you already have a project, you can install the SDK manually. Follow the instructions for your selected SDK.
-
+### 3. Set callback and redirect URLs
-## 4: Add callback URLs to your Kinde application
+On the **Quick start** page, set the callback and redirect URLs for your app.
-While you are viewing the application details, set the callback and redirect URLs for your app.
+
-These define where a user goes when they sign in to you app. You need to set these in order to enable users to sign up.
+For development, the URLs will be something like `http://localhost:3000/` and for production, this will be your live production URL (e.g., `https://myapp.com`).
-Enter default localhost details, such as below. Note that `http://localhost:3000` is an example of a commonly used local development URL. It should be replaced with the URL where your app is running.
+These define where a user goes when they sign in to your app. You need to set these to enable users to sign up.
-
+Enter your local development URL to get started.
-You can add other URLs later, when your production environment is ready to go live or you set up a custom domain.
+
-## 5: Add app keys to the .env file
+You can update or remove them from the **Details** page of your application.
-Your code base will include an .env file (or something similar) for storing configuration information. Add the Kinde app details you copied at step 3 to your .env file
+
-Here’s an example from the Next.js app router SDK. You replace ``, ``, and `` with the Kinde app details.
+You can add more URLs later, when your production environment is ready to go live or you set up a custom domain.
-```bash
+### 4. Get app keys
+
+1. Go to the **Details** page of your application to find your app keys.
+2. Copy the following:
+
+ - **Domain** (`yourbrand.kinde.com` or your custom domain)
+ - **Client ID**
+ - **Client secret** (for back-end and M2M apps)
+
+
+
+### 5. Add app keys to the .env file
+
+Your code base will include an .env file (or something similar) for storing configuration information. Add the Kinde app details you copied from the **Details** page to your .env file.
+
+Here’s an example from the [Next.js app router SDK](/developer-tools/sdks/backend/nextjs-sdk/):
+
+```env
+# .env
KINDE_CLIENT_ID=
KINDE_CLIENT_SECRET=
KINDE_ISSUER_URL=https://.kinde.com
-
KINDE_SITE_URL=http://localhost:3000
KINDE_POST_LOGOUT_REDIRECT_URL=http://localhost:3000
KINDE_POST_LOGIN_REDIRECT_URL=http://localhost:3000/dashboard
```
-## 6: Test user registration
+
+
+### 6. Test user registration
+
+1. Run your app locally and select the **Sign up** button. You'll be redirected to the Kinde login page.
+
+
+
+2. Complete the sign-up process and you'll be redirected back to your app's dashboard page. If you run into an issue, take a look at the [common error codes page](/get-started/guides/error-codes/).
+
+3. Go to your **Kinde dashboard > Users** to find the user profile you just created.
+
+ 
+
+ Here, you can edit this user's profile details and even perform admin actions like suspending or deleting the user. Read more about [user management](/manage-users/about/) in Kinde.
+
+
+
+
+## Build and deploy
+
+### Set up a test environment
+
+Kinde comes with a default production environment, and the ability to create additional non-production environments. This is useful for testing in different environments without having to sign up for a new account.
+
+To create a test environment, do the following:
+
+1. Go to your Kinde dashboard, and select the arrow next to the production environment dropdown (top-left of the screen). A pop-up appears.
+
+ 
+
+2. Select **All environments**
+3. On the **Environments** page, select **Add environment**
+4. Enter a **Name** (e.g., "Test") and a URL-friendly **Code** for the environment (e.g., "test"), then select **Save**. A new environment is created.
+5. Select the **Switch to this environment** button to switch to the new environment.
+
+ Every new environment comes with two default applications:
+
+ - **Back-end web** - for connecting a server-side application
+ - **Front end and mobile** - for connecting a client-side application
+
+ Your Kinde domain for this environment will be in the format of `https://-..kinde.com`.
+
+
+
+### Register your APIs
+
+If your app communicates with back-end APIs, register them with Kinde so they can be included in the `aud` claim of access tokens.
+
+1. Go to **Settings > Environment > APIs**.
+2. Select **Add API**.
+3. Enter an **API name** and **Audience** (a unique identifier — typically a short code or the API URL).
+4. Select **Save**.
+5. Select **Applications** in the left menu, then select the three dots next to the relevant app and choose **Authorize application**.
+
+See the full [Register and manage APIs guide](/developer-tools/your-apis/register-manage-apis/) for token request examples and managing scopes.
+
+### Use Kinde Management API to automate admin tasks
+
+The Kinde Management API lets you automate admin tasks such as managing users, roles, permissions, and applications. To get started:
+
+1. Go to your Kinde dashboard and select **Add application**.
+2. Give it a name and select **Machine to machine** as the type, then select **Save**.
+3. Go to the **APIs** page, select the three dots next to the **Kinde Management API** and choose **Authorize application**.
+4. Select the three dots again and choose **Manage scopes**. Enable only the scopes you need, then select **Save**.
+5. Go to the **Quick start** page of the app, select **Kinde Management API** from the dropdown, and select **Get token**.
+6. Use the token to call the Kinde Management API.
+7. You can also use a test token from this page.
+
+
+
+See the full [Kinde Management API reference](/kinde-apis/management/) for available endpoints and usage examples.
+
+### Deploy to production
+
+The production deployment process varies by hosting provider and application stack. Use these steps as a general checklist when you deploy your Kinde auth app to production:
+
+1. Create a production build of your application and deploy it to your live server.
+2. Note your live URLs and update the [callback and redirect URLs](#3-set-callback-and-redirect-urls) in your Kinde dashboard.
+3. Update environment variables on your application server so they match the new URLs.
+4. Redeploy your application with the updated configuration.
+5. Test the authentication flow on your live server.
+
+For more detail, see:
+
+- [Prepare your production environment to go live](/build/environments/production-to-live/).
+- Deploy your app to [Vercel](/developer-tools/guides/deploy-on-vercel/), [Netlify](/developer-tools/guides/deploy-on-netlify/), or [Cloudflare Workers](/developer-tools/guides/deploy-on-cloudflare-workers/).
+
+## Advanced developer topics
-After you complete the previous steps, you should be able to register your first user.
+Here are some advanced developer topics to explore:
-Register your first user by signing up yourself. To view the user, go to the main **Users** page in Kinde.
+- [Customize with Workflows](/workflows/getting-started/quick-start-guide/)
+- [Add and manage webhooks](/integrate/webhooks/add-manage-webhooks/)
+- [Copy configuration across environments](/developer-tools/guides/manage-kinde-configuration/)
+- [End to end testing your Kinde apps](/testing/)
-Continue through the SDK to complete other configuration tasks. Then follow the link in step 7 below for a list of other set up tasks.
+## Next steps
-## 7: Set up Kinde to work how you want it
+Now that you have added Kinde auth to your codebase, here are some next steps:
-Start configuring Kinde to work the way you want by exploring [common set up tasks](/get-started/guides/set-up-tasks/) and customizations. That’s when you’ll really start to build your business on Kinde.
+- [Common setup tasks](/get-started/guides/set-up-tasks/) with Kinde.
+- [Error codes & troubleshooting](/get-started/guides/error-codes/).
\ No newline at end of file
diff --git a/src/content/docs/get-started/guides/first-things-first.mdx b/src/content/docs/get-started/guides/first-things-first.mdx
index 16f30bdeb..4e7b1b581 100644
--- a/src/content/docs/get-started/guides/first-things-first.mdx
+++ b/src/content/docs/get-started/guides/first-things-first.mdx
@@ -1,9 +1,11 @@
---
page_id: 2e4e5fca-9e1d-4c7d-b1bf-6a7e35d51847
-title: Where to start with Kinde
+title: First things first
sidebar:
order: 1
-description: Essential guide for getting started with Kinde including business setup, quick start options, and onboarding process for new users.
+tableOfContents:
+ maxHeadingLevel: 3
+description: Essential guide for getting started with Kinde including onboarding process for first-time users, adding business details, and team members.
relatedArticles:
- 5c7de06d-f065-4a8a-81cb-f6914ee374f7
- 281f3dd1-8fe6-4b4e-ba73-ddedd351524a
@@ -15,6 +17,9 @@ app_context:
topics:
- get-started
- guides
+ - onboarding
+ - team-and-account
+ - business-settings
sdk: []
languages: []
audience:
@@ -22,58 +27,142 @@ audience:
- business owners
complexity: beginner
keywords:
- - getting started
- - quick start
- - onboarding
- - business setup
- - tech stack
- - social authentication
-updated: 2024-01-15
+ - Kinde registration
+ - create account
+ - email verification
+ - one-time code
+ - Kinde domain
+ - subdomain
+ - data region
+ - first project
+ - sign-in methods
+ - social connections
+ - business details
+ - phone number
+ - industry
+ - timezone
+ - terms of use
+ - privacy policy
+ - add team members
+ - Kinde roles
+ - Engineer role
+ - paid plan
+updated: 2026-04-27
featured: false
deprecated: false
-ai_summary: Essential guide for getting started with Kinde including business setup, quick start options, and onboarding process for new users.
+ai_summary: "Entry guide for new Kinde customers. Covers registering at app.kinde.com, verifying your email with a one-time code, and entering business details — including the Kinde subdomain (cannot be changed later) and data region. Walks through creating a first project (from scratch or with an existing codebase), selecting a technology stack, and choosing sign-in methods such as email and social providers. After onboarding opens the Kinde dashboard, the guide explains how to complete your business profile (phone, email, industry, timezone), add terms of use and privacy policy URLs that appear in the hosted auth widget footer, and invite teammates by email with assigned roles like Engineer for developer access. A paid plan is required for roles beyond Owner and Admin."
---
-First, [sign up for a business and get a Kinde domain](https://app.kinde.com/register).
+Kinde is the all-in-one developer platform for authentication, access management, and billing. Use it to secure and monetize your SaaS from day one.
+
+## Onboarding for first-time users
+
+### 1. Create your account
+
+1. Go to **https://app.kinde.com/register**
+2. Enter your **First name**, **Last name**, and **Email address**
+3. Select the **Create your account** button
+
+### 2. Verify your email
+
+1. A **one-time code** will be sent to your email
+2. Open your email, copy the code, and enter it on the verification screen
+3. Submit the code to continue
+
+### 3. Add business details
+
+1. Enter your **Business name**
+2. Choose a **Kinde domain name** (e.g., `yourbrand.kinde.com`)
+
+
+
+3. Select a **Region** where your data will be stored (choose a region close to your operations or your customers)
+4. Select **Next**
+
+### 4. Create a project
+
+Projects are applications in Kinde. They are how you let users and organizations sign up for your product.
+
+You will see two options:
+- **Start a project from scratch**
+- **Use Kinde with my existing code base**
+
+1. Select the **Start a project from scratch** option
+2. Select **Next**
+3. Select the **technology** you plan to use (e.g., React), or choose **Other**
+
+
+
+4. Select **Next**
+
+### 5. Choose sign-in method
+
+1. On the **How do users sign in?** screen, enable **Email** (default setting)
+2. Enable any other sign-in methods you want your users to use (for example, Google or Facebook). You can add more social and enterprise connections later from the dashboard.
+3. Select **Next**
+
+### 6. Finish setup
+
+1. When you reach the **Almost there…** screen, select **No thanks, I’ll explore at my own pace.**
+
+ You will now be taken to the **Kinde Dashboard**, where you can begin using the platform.
+
+ 
+
+## Complete your business details
-## Choose your own business adventure
+1. On the dashboard, select **your business name** in the bottom-left corner. A pop-up appears.
+2. In the pop-up, select **Business details**.
-When you sign up for a new business, you’ll be guided through a few decisions about how you want to set up your business, including the tech stack you use, the social authentication methods you want, and whether you are bringing your own code, or are starting from scratch.
+ 
-Then you’ll be asked if you want to use the Quick Start method to get your app connected.
+3. Update the following details:
-
+### Basic information
-## Take the Quick Start path
+1. In the **Basic information** section, add your:
+ - **Phone number** (your business phone number)
+ - **Email** (your business email address)
+ - **Kinde perk code** (if you have one)
+ - **Industry**
+ - **Time zone**
-Follow our **Quick Start** guide to get connected fast.
+### Terms of use and privacy
-You can jump straight in there from the onboarding, or you might have breezed through these steps so you can look around. Either way, here’s how to find your way back.
+1. Enter the publicly available URLs for your:
+ - Terms of use URL
+ - Privacy policy URL
-1. On the Kinde home page, select **View details** on your app tile.
-2. Select **Quick start** in the menu.
-3. Select the relevant tab: **Starter kit** or **Existing codebase.**
+ After you add your **Terms of use** and **Privacy policy** URLs, users will see these links on the **Sign up** page in the widget footer.
- 
+ 
-4. Follow the steps to get connected!
+When you finish, select **Save**.
-If you need to, you can also change the technology you selected.
+## Add team members
-
+5. Select **Save**.
-## Resources for getting to know us
+ Your team member will receive an email with an invitation to join your business on Kinde. They can set up an account or sign in to an existing account.
-Check out the [website](https://kinde.com/product-demo/), the [docs](/), the [blog](https://kinde.com/blog/), [videos](https://www.youtube.com/@heykinde), and hit up the [Slack community](https://join.slack.com/t/thekindecommunity/shared_invite/zt-1vyq8qilj-jFH5V27jfFnHk~BuBSU0ZA) to talk to other Kinde users.
+ For more on team member management, see [Add team members](/get-started/team-and-account/add-team-members/).
-If you need help setting up, there’s a **#support** channel in the Slack community or you can contact us at [support@kinde.com](mailto:support@kinde.com)
+## Next steps
-## More starter docs
+Now that you've onboarded with Kinde, finished setting up your business, and added team members, here are some next steps:
-- [Our SDKs](/developer-tools/about/our-sdks/)
-- Alternative guide for [connecting to Kinde from a blank slate](/get-started/guides/start-with-starter-kit/)
-- Alternative guide for [connecting your own codebase](/get-started/guides/byo-code/)
+- [Add Kinde auth to your codebase](/get-started/guides/byo-code/).
+- [Check out common setup tasks](/get-started/guides/set-up-tasks/).
\ No newline at end of file
diff --git a/src/content/docs/get-started/guides/set-up-tasks.mdx b/src/content/docs/get-started/guides/set-up-tasks.mdx
index f80773ac8..27d009d2a 100644
--- a/src/content/docs/get-started/guides/set-up-tasks.mdx
+++ b/src/content/docs/get-started/guides/set-up-tasks.mdx
@@ -1,16 +1,24 @@
---
page_id: 9b9ce8a8-dffb-47e5-82a9-e612b1947963
-title: Common set up tasks
+title: Common setup tasks in Kinde
sidebar:
- order: 4
+ order: 2
+ label: Common setup tasks
+tableOfContents:
+ maxHeadingLevel: 3
relatedArticles:
- 720fcdda-daa6-4dff-ad2d-177af555e6bb
- 2e4e5fca-9e1d-4c7d-b1bf-6a7e35d51847
- 46149cb3-fa96-46a2-bd94-0ba4aacae527
-description: Comprehensive guide to common Kinde setup tasks including business settings, applications, authentication, user management, and integrations.
+description: "Comprehensive guide to common Kinde setup tasks including business settings, applications, authentication, user management, and integrations."
topics:
- get-started
- guides
+ - authentication
+ - branding
+ - user-management
+ - growth
+ - configuration
sdk: []
languages: []
audience:
@@ -19,66 +27,237 @@ audience:
- admins
complexity: intermediate
keywords:
- - setup tasks
- - business settings
- - applications
- - authentication
- - user management
- - integrations
- - organizations
+ - authentication strategies
+ - email plus code
+ - email plus password
+ - phone authentication
+ - WhatsApp authentication
+ - social sign-in
+ - enterprise connections
+ - Microsoft Entra ID
+ - SAML
+ - custom domain
+ - email sender
+ - custom SMTP
- branding
-updated: 2024-01-15
+ - remove Kinde branding
+ - powered by Kinde
+ - import users
+ - user migration
+ - Auth0
+ - Clerk
+ - Firebase
+ - role-based access control
+ - RBAC
+ - user roles
+ - user permissions
+ - lead generation
+ - request access page
+ - subscription form
+ - analytics
+ - Google Analytics
+ - Hotjar
+ - UTM tags
+ - sign-in page design
+updated: 2026-04-27
featured: false
deprecated: false
-ai_summary: Comprehensive guide to common Kinde setup tasks including business settings, applications, authentication, user management, and integrations.
+ai_summary: "Reference guide for the most common Kinde setup tasks, organized into four areas. Core setup covers choosing authentication strategies (email + code, email + password, phone, or WhatsApp) and configuring social or enterprise connections like Google, GitHub, Microsoft Entra ID, and SAML. Branding and customization explains how to update hosted auth pages, add a custom domain, configure a custom email sender with SMTP, and remove the 'Powered by Kinde' logo on paid plans. User management covers adding individual users, importing or migrating users from Auth0, Clerk, or Firebase, and setting up role-based access control with permissions and roles. Growth tools explain how to build a mailing list with a hosted request access page or embeddable subscription form, and how to add third-party analytics (Google Analytics, Hotjar) or UTM tags to auth flows."
---
-The whole idea of Kinde is you can set it up the way you want, without too much fuss.
+Kinde is designed to fit the way you work — not the other way around. You have full control over how users authenticate, what your brand looks like, and how your app is structured.
+
+Here are the most common setup tasks. Depending on your business structure and goals, you may complete some or all of them.
+
+## What you need
+
+- A [Kinde](https://kinde.com) account with **Admin** access (sign up for free)
+- Familiarity with auth strategies and user management
+
+## Core setup
+
+### Change authentication strategies
+
+By default, Kinde uses the **Email + code** authentication strategy for user sign-up and sign-in. You can enable different strategies for your app, including:
+
+- Email + code (default)
+- Phone or WhatsApp auth
+- Username + code
+- Email + password
+- Username + password
+
+
+
+To configure an authentication strategy:
+
+1. Go to your application > **View details** > **Authentication**.
+2. Enable the authentication strategy you want to use.
+3. Select **Save**.
+
+If you want to use phone or WhatsApp connections, you'll need to configure those services separately. See the [authentication methods](/authenticate/authentication-methods/set-up-user-authentication/) page for details and setup instructions for each.
+
+
+
+### Set up social or enterprise connections
+
+You can let users sign in with social profiles like Google, Facebook, or GitHub, or use enterprise connections such as Microsoft Entra ID or SAML. To configure a social or enterprise connection:
+
+1. Go to **Settings > Environment > Authentication**.
+2. In the **Social connections** or **Enterprise connections** section, select **Add connection**.
+3. In the window that appears, select the service you want to use and select **Next**.
+4. Configure the connection details and select **Save**.
+5. Go to your application > **View details** > **Authentication** and enable the connection you just added.
+
+
+
+See the detailed guides for each auth method:
+
+- [Add social sign-in with Kinde](/authenticate/social-sign-in/add-social-sign-in/)
+- [Add enterprise connections with Kinde](/authenticate/enterprise-connections/about-enterprise-connections/)
+
+## Branding & customization
+
+### Change authentication page design
+
+You can change the Kinde-hosted auth pages to match your brand:
+
+1. Go to Kinde dashboard > **Design** to change your:
+
+ - Brand assets like logo, favicon, avatar, and link colors
+ - Sign-in and sign-up page content
+ - Email content and copy
+ - Custom code
+
+Take a look at the [guide for changing Kinde design and branding](/design/brand/global-brand-defaults/) for more details.
+
+### Remove the Kinde branding
+
+You can remove the default "Powered by Kinde" logo from the auth pages:
+
+
+
+1. Go to Kinde dashboard > select **Your business name > Business details**.
+2. On the **Global display settings** > disable the **Show Kinde branding** switch.
+
+
+
+### Add a custom domain
+
+Use your own domain to create a seamless user experience:
+
+1. Go to your Kinde dashboard and select **Settings > Environment > Custom domain**.
+2. Select **Add custom domain**.
+3. In the dialog, enter your custom domain such as `auth.yourcompany.com`.
+4. Select **Save**.
+
+For detailed setup instructions, see the [guide for using a custom domain](/build/domains/pointing-your-domain/).
+
+### Customize email sender
+
+You can customize the sender name, email copy, and design — or use your own SMTP provider for a fully branded messaging experience.
+
+1. Go to Kinde dashboard > select **Settings > Environment > Messaging > Email Sender**.
+2. Enter a **Sender name** to change the email sender details.
+3. Enable **Use custom sender** to add your own SMTP details.
+4. To change the email contents, go to your Kinde dashboard > **Design** > **Email content** and update the email copy.
+
+See the [guide for customizing email sender](/get-started/connect/customize-email-sender/) for more details.
+
+## User management
+
+### Import users to Kinde
+
+You can add users directly from the Kinde dashboard or import them from another platform or database. To add an individual user:
+
+1. Go to Kinde dashboard > **Users** > **Add user**.
+2. Enter the user's email address and select **Save**.
+3. The user will receive an email to set their password.
+
+To migrate users from platforms like Auth0, Clerk, or Firebase, see the [dedicated migration guides](/get-started/switch-to-kinde/switch-to-kinde-for-user-authentication/).
+
+### Add user permissions and roles
+
+Use role-based access control to grant users access to different features and resources in your app.
+
+**Add user permissions:**
+
+1. Go to Kinde dashboard > **Settings > User Management > Permissions**.
+2. Select **Add permission** and enter the permission name, description, and key.
+3. Select **Save**.
+
+**Add user roles:**
+
+1. Go to Kinde dashboard > **Settings > User Management > Roles**.
+2. Select **Add role** and enter the role name, description, and key.
+3. Select the permissions that are included in the role by switching them on.
+4. Select **Save**.
+
+**Add a role to a user:**
+
+1. Go to Kinde dashboard > **Users** > select the user you want to update.
+2. Select **Roles** and enable the role you want to add to the user.
+3. Select **Save**.
+
+Learn more in the dedicated guides:
+
+- [Add user permissions](/manage-users/roles-and-permissions/user-permissions/)
+- [Add and assign user roles](/manage-users/roles-and-permissions/user-roles/)
+
+## Growth tools
+
+### Build your list
+
+You can build your mailing list with Kinde using a hosted request access page, an embeddable subscription form, or both.
+
+**Create a hosted "Request access" page:**
+
+1. Go to your Kinde dashboard > **Design > Lead generation > Request access**.
+2. Add a background image and adjust the widget alignment.
+3. Enter the success link URL (where users will be redirected after requesting access).
+4. Check the **Make page live** switch.
+5. Select **Save**.
+6. Copy the **Request access URL** and share with your audience.
-Here are some common set up tasks. Depending on your business structure and how you want to do things, you may do some or all.
+To change the content on the page:
-## Business settings
+1. Go to **Page content** in the menu and select **Request Access** from the dropdown.
+2. Make the content changes you want and select **Save**.
-- [Use your own domain](/build/domains/pointing-your-domain/) for sign up and sign in
-- Add links to [privacy policy and terms of service](/manage-your-account/business-information/policies-terms/)
-- [Invite team members](/get-started/team-and-account/add-team-members/) to help you set up
-- [Create another environment](/build/environments/environments/), such as a local development environment
+Learn more about [request access pages](/design/pages/set-up-the-request-access-page/).
-## Applications
+**Create an embedded subscription form:**
-- Set [callback and redirect URLs](/get-started/connect/callback-urls/) in your applications, and ensure they match the URLs in your code.
-- Switch on [authentication options](/authenticate/manage-authentication/user-auth-applications/) for your applications.
+1. Go to your Kinde dashboard > **Design > Lead generation > Subscribe**.
+2. Enter the success text — this is displayed after a user subscribes.
+3. Enter the URL for the site where the form will appear. Note that you only need to include the root part of the URL, not the specific pages (e.g. https://kinde.com).
+4. Select **Save**.
+5. Select **Get code**. A popup appears.
+6. Copy the HTML, CSS, and JS code and paste it into your website.
-## Appearance and user experience
+Once the form is activated, go to **Users** and select **Subscribers** to view everyone who has signed up. You can add, delete, and convert subscribers into users. Learn more about [subscription forms](/design/pages/subscription-form/).
-- Set up the [request access](/design/pages/set-up-the-request-access-page/) page (if your app is not yet in the market)
-- Add your [email provider details](/get-started/connect/customize-email-sender/) so emails come from you and not Kinde
-- Set your global brand theme for [emails and pages](/design/brand/global-brand-defaults/), including sign up and sign in pages
-- [Create a form](/design/pages/subscription-form/) to collect emails from mailing list subscribers
+### Add analytics and tracking
-## Authentication
+Kinde lets you add third-party analytics and tracking to your sign-in and sign-up pages. To add a tracking code:
-- Select and [set up authentication](/authenticate/authentication-methods/set-up-user-authentication/) for your apps (Email + passwordless is set up by default in your first app when you add a new business)
-- Enable [social sign up options](/authenticate/social-sign-in/add-social-sign-in/)
-- Set up [multi-factor authentication](/authenticate/multi-factor-auth/enable-multi-factor-authentication/)
-- Add [MS Entra ID](/authenticate/enterprise-connections/azure/) or [SAML](/authenticate/enterprise-connections/custom-saml/) enterprise authentication (if you have enterprise customers)
-- Manage the [authentication experience](/authenticate/custom-configurations/authentication-experience/), including error handling, sign up fields, marketing consent, etc.
+1. Go to Kinde dashboard > **Settings > Environment > Environment details**.
+2. Scroll to the **Third-party analytics** section and enter your preferred tracking code.
+3. Select **Save**.
-## Users
+Learn more in the dedicated guides:
-- [Import users](/manage-users/add-and-edit/import-users-in-bulk/) into Kinde, or [add them manually](/manage-users/add-and-edit/add-and-edit-users/)
-- Add [user permissions](/manage-users/roles-and-permissions/user-permissions/)
-- Add and assign [user roles](/manage-users/roles-and-permissions/user-roles/)
+- [Google Analytics](/manage-users/view-activity/track-user-sign-in-with-google-analytics/)
+- [Hotjar](/manage-users/view-activity/hotjar/)
-## Integrations
+You can also add UTM tags to your auth flows. See your preferred SDK page for details — here's an [example using UTM tags](/developer-tools/sdks/backend/nextjs-sdk/#utm-tags-for-analytics) from the Next.js App Router SDK.
-- [Register your APIs](/developer-tools/your-apis/register-manage-apis/) on Kinde
-- Connect to [Kinde’s Management API](/developer-tools/kinde-api/connect-to-kinde-api/)
-- Add [Google Analytics](/manage-users/view-activity/track-user-sign-in-with-google-analytics/) to track user sign ups and sign ins
+## Next steps
-## Organizations (B2B/+ businesses)
+Once you've completed the basics, here are some ways to go further with Kinde:
-- Learn how [multi-tenancy and organizations](/build/organizations/multi-tenancy-using-organizations/) works in Kinde
-- Add or [import organizations](/build/organizations/import-organizations/)
-- Allow [organization creation](/build/organizations/allow-org-create-on-signup/) on sign up
-- [Apply branding for organizations](/design/brand/apply-branding-for-an-organization/)
+- [Use multi-tenancy and organizations](/build/organizations/multi-tenancy-using-organizations/) in Kinde
+- [Enable Kinde Billing](/billing/get-started/setup-overview/) to get paid from your customers
diff --git a/src/data/sidebarData.ts b/src/data/sidebarData.ts
index 57f0230a8..3a29bbe48 100644
--- a/src/data/sidebarData.ts
+++ b/src/data/sidebarData.ts
@@ -9,7 +9,16 @@ const sidebarData = [
collapsed: true,
cardLink: "/get-started/guides/first-things-first/",
items: [
- {label: "Guides", autogenerate: {directory: "get-started/guides"}, collapsed: false},
+ {
+ label: "Guides",
+ items: [
+ {label: "First things first", link: "/get-started/guides/first-things-first/"},
+ {label: "Add Kinde to your codebase", link: "/get-started/guides/byo-code/"},
+ {label: "Common setup tasks", link: "/get-started/guides/set-up-tasks/"},
+ {label: "Error codes", link: "/get-started/guides/error-codes/"}
+ ],
+ collapsed: false
+ },
{
label: "Learn about Kinde",
autogenerate: {directory: "get-started/learn-about-kinde"},