Read Customer Stories
Digitization boosts DeRock Electric’s operations, efficiency, and profitability.
Built a a HIPAA-Compliant Start-Up and saved $250k+ saved/year.
Try Interactive Demo
No-code database platforms are transforming the way web apps are…
Template Marketplace
Supercharge your Work Order Management by managing work orders, assigning…
Supercharge your Work Order Management by managing work orders, assigning…

Customer Portal – Knack 101

Related Posts

Alright. I know I mentioned here a couple of minutes ago we have a lot to cover, so I am going to get started. Again, welcome to everyone just joining the room now. If you’re able to see my screen here, today is our Knack 101 webinar.

We will be going through some of the basics here in Knack. So you will start to learn how you can use Knack to build out your use cases. We will take a look at a live app as well as start to build out a portion of that live app.

Who We Are

My name is Ro. I’m part of our onboarding team here at Knack. We work with a lot of our customers who are just looking to get started with Knack and maybe need some support building out their application and understanding the product a little bit better. You’ll also notice my colleague Max is on the call here as well. He’s part of our onboarding team and will be in the Q&A section looking at questions you may submit.

What to Expect from the Webinar

As we go through the demo and live build, we will be keeping an eye on the Q&A area. Please drop any questions that you have there as they come up. We’ll try to respond live or in the chat, but we’ll also address questions during the second half of the webinar.

The first half of this webinar will be a review of the Customer Portal—we’re going to demo that, and then we’ll also do a live build. The second half will be Q&A. Let us know your use case. If you’ve already started building and are getting stuck, we’d love to help.

If your question isn’t answered today, you can always reach out to our team. We’ll talk more at the end of the webinar about how to work with us and get additional support.

Introduction to the Customer Portal

We’re going to dive into our Customer Portal. If you’re new to Knack, our platform helps you build applications to manage your data. If you’re currently working in spreadsheets or using a no-code tool that lacks permission control and reporting, Knack can help.

The purpose of this portal is to allow users to log in and view their service request records. We’ve got customers that can log in and also business managers.

Customer View of the Portal

I’m logging in here as our customer. You’ll notice different views—these are ways Knack displays your data.

  • We have a rich text view.
  • We have menu button views that let users take actions such as submitting a service request, viewing requests, or reviewing invoices.
  • We have a table/grid view showing all open service requests.

Clicking into a request shows more details—number fields, date/time fields, short text fields, paragraph fields, equations, and more.

We also have a form view where users can submit a new record. Once submitted, it returns them to the dashboard, where they’ll see the newly added request.

Filtering is also applied. For example, the dashboard may only show open records, but you can navigate to see past records.

Viewing Invoices and Equation Fields

Invoices use equation and currency fields to calculate totals. You can customize how your data is calculated and displayed.

Business Manager View of the Portal

Let’s log out and log back in as a business manager.

Since the customer can’t access this section, we need to use a manager’s credentials. Managers have a different dashboard:

  • They see all open service requests across multiple customers.
  • They have access to a full customer list.
  • They can view all services and filter between open and completed.

Clicking on a customer record shows all related services and invoices. This is where Knack’s relational database model shines. You can create parent-child views that show related data across different tables.

Diving Deeper into the Builder

Let’s jump into the builder for this Customer Portal template app. If you’re starting with a template, you’ll see tables, user roles, and test data already created.

Everything is customizable:

  • Change table and field names
  • Edit view settings
  • Add new tables and fields

Navigating the Builder Interface

On the left side panel:

  • Data Tab: Add and manage tables and fields
  • Records Tab: View and edit stored data in spreadsheet format
  • Tasks Tab: (Pro plan only) Automate actions based on set criteria

When adding a new table, you can:

  • Start from scratch
  • Use a premade table
  • Import from Google Sheets
  • Upload CSV/Excel files

Field Types in Knack

When adding fields to a table, Knack offers many types:

  • Text (short and paragraph)
  • Number
  • Currency
  • Date/time
  • Equations
  • File/Image
  • Signature
  • Rating
  • Connections (used to relate tables)

Managing Users and Permissions

User roles (like customers and business managers) help you manage page access and visibility. You can customize which roles can view or edit certain pages and data.

Working with Records

The Records tab lets you manually add, update, and delete records. You can also batch import/export.

On the Pro plan or above, you can track change history for each record.

Using Tasks to Automate Actions

Tasks let you set up background automation such as:

  • Sending reminder emails
  • Updating records
  • Creating related records

Example: Send an email daily when a new service request with a specific issue type is submitted.

You choose the schedule, conditions, and action to automate.

Navigating the Knack Builder Environment

Alrighty. Exiting out of that, pages is where I usually say all the magic happens. That’s where you’re building out your app. You’re designing what your app will do and what your live app users will do within the application.

With pages, you add views to a page. We’ve got a lot of views to choose from to then add to a page within your Knack application. I’m not gonna dive too deep into the pages here because I actually want to build from scratch so you can get a better sense of what that building process looks like.

Below pages, you’ll find App Settings. This is where you can add the name of your app, a description, and also access some security information and settings.

Customizing Look and Security

We’ve got Live App Design—this is where you customize the look and feel of your application, including buttons and menus. Then there’s the User Login area. A common question is how to secure a page or automatically log someone out after inactivity. You’ll find those settings here. They’re available on all plans.

We also have an eCommerce feature. If you need to add a paywall within your app, you can enable this and set up Stripe or PayPal. This can be tested during the trial and is fully available on the Pro plan.

APIs, Custom Code, and Embeds

Under API and Code, you can connect your app to other systems using our API. You can also add JavaScript or CSS to further customize your app’s appearance and interactivity. Our developer docs are linked right there.

Then there’s Embed—you can embed your app on your website with just a few steps. Choose the page, and Knack will generate a snippet of code for you.

Starting from Scratch: Building a Customer Portal

Let’s dive into actually building out a portion of this app. I’m going to jump back to our dashboard.

Dashboard Overview

To get there, click the Knack icon. Your dashboard shows your account info, help articles, and existing apps. You can quickly start a new app—from scratch or with a template—and access video guides.

Click Create App > Start from Scratch. We’re going to build a customer portal.

Adding a Services Table

A default table is created for you. We’ll first rename it to Services. Then we’ll start adding fields:

  • System Type: Add a multiple choice field.
  • Instructions/Comments: Repurpose the initial short text field.
  • Services Needed: Another multiple choice field.
  • Service Date: Use a date field, turn off default date, and configure start/end times as needed.

Remember: you can move fields around and click the ellipsis (three dots) to access more settings, such as validation rules and conditional rules.

Setting Up User Roles

One crucial part of your build: deciding who needs access to your data. In this case, we want both customers and managers to log in, but with different levels of access.

From the Data tab:

  • Click to Enable User Roles.
  • Add user role: Customers.
  • Add user role: Managers.

These roles add two new tables under “Accounts,” each with five default fields (Name, Email, Password, Status, User Role). These are required and cannot be removed.

You can now build out these tables just like any other:

  • For Customers: Add an address field. You’ll see address autocomplete and geocoding options (available on the Pro plan).
  • Add a phone number field as well.

Now you’ve built the user infrastructure, and you’re ready to start linking data and designing pages for different roles.

Setting Up the Customer Table and Connections

So this is our customer table. You can dive into your manager table and collect any additional information that you want with your manager.

Again, user roles are super important—think about early on who needs to have access. If you need to set different levels of permissions, then you’ll want to have multiple roles. Think of these as groups of people getting added to each one of these tables who can then log in.

Creating Connections Between Tables

Now that we’ve set up our services and the different users who need access to the system, we need to talk about how we’re going to relate that data.

In our demo, customers log in and view their services. So how do we tie that together? In Knack, we use a feature called connections. If you’re coming from spreadsheets, it’s like a lookup field. If you’re coming from databases like Microsoft Access, it’s like a foreign key.

In Knack, the connection field lives in your child table. You don’t need to set a primary key. The connection field is all you need to relate data.

How do you know where the connection goes? Think of the side of the relationship with “many.” If a customer can have many services, then the services table (the child) gets the connection field. So we’ll add the connection in the services table.

Click Add a Connection, choose the Customer table, and you’ll see:

Each service connects with one customer. Each customer connects with many services.

If you’re tempted to switch those, you might be in the wrong table. Exit and go to the right one. One-to-many is perfect for most cases. Many-to-many has valid use cases. One-to-one is rare and restrictive.

Adding Test Data for Early Testing

With services, customers, and managers set up, we’re ready to start testing. I recommend adding test data next. You can import real data later, but start small—maybe five to ten sample records—to visualize how your pages will function.

Start with your user roles. Let’s add a test customer record:

Hit submit.

Now repeat for the manager table if needed.

Let’s also add a test service record:

  • System Type: Printer
  • Service Needed: Troubleshooting & Repair
  • Service Date: A future date
  • Comments: “Help!”
  • Customer: Ro Customer

Now you’ll see Ro Customer appear in the lookup dropdown. That’s your connection working in real time.

Let’s add a second customer to see how permissions behave later:

And another service:

  • System Type: PC
  • Service Needed: Networking
  • Service Date: Another future date
  • Customer: Knack Customer

Now we’re set up with realistic test data.

Understanding the Default Homepage and Live App

Knack adds a Home Page by default. This is a public page, denoted by the icon. It means anyone with your personalized Knack URL can access it.

Your URL will look something like:
youraccount.knack.com/app-name/#home-page

The page is blank right now. And that’s normal. Don’t expect your data to automatically appear here—you need to build your workflow.

Adding a Login Page

Let’s start from scratch. Click the + Add Page button and choose Login Page.

You’ll get three options:

  • Public Page
  • Login Page
  • Dropdown Menu (to group pages under one tab)

Choose Login Page. Then specify who can log in. In our case, Customers. This lets us build a dedicated dashboard just for them.

Name it Customer Dashboard and click Add Page.

Now you’ll see the login form, but nothing else. Try previewing or going to the live app—you’ll be asked to log in. Log in using the test credentials for Ro Customer.

Once you’re in, the page is still blank. That’s expected. You’ve now started building navigation. The next step is to add views and begin building functionality.

Setting Up the Customer Table and Connections

So this is our customer table. You can dive into your manager table and collect any additional information that you want with your manager.

Again, user roles are super important—think early on about who needs to have access. If you need to set different levels of permissions, then you’ll want to have multiple roles. Think of these as groups of people getting added to each one of these tables who can then log in.

Creating Connections Between Tables

Now that we’ve set up our services and the different users who need access to the system, we need to talk about how we’re going to relate that data.

In our demo, customers log in and view their services. So how do we tie that together? In Knack, we use a feature called connections. If you’re coming from spreadsheets, it’s like a lookup field. If you’re coming from databases like Microsoft Access, it’s like a foreign key.

In Knack, the connection field lives in your child table. You don’t need to set a primary key. The connection field is all you need to relate data.

How do you know where the connection goes? Think of the side of the relationship with “many.” If a customer can have many services, then the services table (the child) gets the connection field. So we’ll add the connection in the services table.

Click Add a Connection, choose the Customer table, and you’ll see:

Each service connects with one customer. Each customer connects with many services.

If you’re tempted to switch those, you might be in the wrong table. Exit and go to the right one. One-to-many is perfect for most cases. Many-to-many has valid use cases. One-to-one is rare and restrictive.

Adding Test Data for Early Testing

With services, customers, and managers set up, we’re ready to start testing. I recommend adding test data next. You can import real data later, but start small—maybe five to ten sample records—to visualize how your pages will function.

Start with your user roles. Let’s add a test customer record:

Hit submit.

Now repeat for the manager table if needed.

Let’s also add a test service record:

  • System Type: Printer
  • Service Needed: Troubleshooting & Repair
  • Service Date: A future date
  • Comments: “Help!”
  • Customer: Ro Customer

Now you’ll see Ro Customer appear in the lookup dropdown. That’s your connection working in real time.

Let’s add a second customer to see how permissions behave later:

And another service:

  • System Type: PC
  • Service Needed: Networking
  • Service Date: Another future date
  • Customer: Knack Customer

Now we’re set up with realistic test data.

Understanding the Default Homepage and Live App

Knack adds a Home Page by default. This is a public page, denoted by the icon. It means anyone with your personalized Knack URL can access it.

Your URL will look something like:
youraccount.knack.com/app-name/#home-page

The page is blank right now. And that’s normal. Don’t expect your data to automatically appear here—you need to build your workflow.

Adding a Login Page

Let’s start from scratch. Click the + Add Page button and choose Login Page.

You’ll get three options:

  • Public Page
  • Login Page
  • Dropdown Menu (to group pages under one tab)

Choose Login Page. Then specify who can log in. In our case, Customers. This lets us build a dedicated dashboard just for them.

Name it Customer Dashboard and click Add Page.

Now you’ll see the login form, but nothing else. Try previewing or going to the live app—you’ll be asked to log in. Log in using the test credentials for Ro Customer.

Once you’re in, the page is still blank. That’s expected. You’ve now started building navigation. The next step is to add views and begin building functionality.

Adding a Services Grid for Logged-In Customers

Now let’s talk about what we want our customer to see and do. We want them to log in to the app and see a table of all their service records.

Choose a grid view to display services. Knack will ask: should we show all services or just those connected to the logged-in customer? Choose services connected to the logged-in customer.

Then decide what you want the user to be able to do:

  • View more details? ✅
  • Edit their request? Optional

After selecting your preferences, click Continue, then Add Grid.

This creates a table on the page. The grid will be selected, and a left-hand panel will open to show your view settings.

View and Customize Grid Settings

Hover over a column and click the pencil icon to open additional settings for:

  • Header titles
  • Display rules (e.g., highlight certain values)
  • Text and color styling

The Source setting will say:

This grid is displaying service records connected to the logged-in customer.

This confirms your permissions are working. You can also:

  • Sort by a field (e.g., date)
  • Add filters (e.g., only show future dates)
  • Turn on keyword search
  • Allow record export
  • Enable inline editing

Use the Add Columns tab to:

  • Show or hide columns
  • Rearrange field order
  • Pull in fields from connected tables like address or phone number

Use the Actions tab to:

  • Add edit or delete links

Click Save when done.

Add a Form to Submit New Service Requests

Click Add View and choose a form.

Connect the form to:

Logged-in customer (so they don’t have to select themselves)

Click Continue, and choose to add the form as a menu button.

You can move this menu button wherever you want on the page. When clicked, it links to a new page with your service request form.

Edit the form by:

  • Removing the customer field (it’s set automatically)
  • Adding a redirect rule to go back to the parent page after submission
  • Setting up record rules (e.g., set status to “New” or capture the current date)
  • Creating email rules to notify your team of a new request

Click Save.

Now your sitemap shows:

  • Login page
  • Customer dashboard with table view
  • Add service form page
  • View service details page

Preview your app to test:

  • Log in as Ro Customer
  • View service table (only your records)
  • Add a new request (e.g., “Install software”)
  • Redirect to the dashboard
  • Confirm the new entry appears

That’s it! Your customer portal is functional and ready to scale.

Setting Up the Customer Table and Connections

So this is our customer table. You can dive into your manager table and collect any additional information that you want with your manager.

Again, user roles are super important—think early on about who needs to have access. If you need to set different levels of permissions, then you’ll want to have multiple roles. Think of these as groups of people getting added to each one of these tables who can then log in.

Creating Connections Between Tables

Now that we’ve set up our services and the different users who need access to the system, we need to talk about how we’re going to relate that data.

In our demo, customers log in and view their services. So how do we tie that together? In Knack, we use a feature called connections. If you’re coming from spreadsheets, it’s like a lookup field. If you’re coming from databases like Microsoft Access, it’s like a foreign key.

In Knack, the connection field lives in your child table. You don’t need to set a primary key. The connection field is all you need to relate data.

How do you know where the connection goes? Think of the side of the relationship with “many.” If a customer can have many services, then the services table (the child) gets the connection field. So we’ll add the connection in the services table.

Click Add a Connection, choose the Customer table, and you’ll see:

Each service connects with one customer. Each customer connects with many services.

If you’re tempted to switch those, you might be in the wrong table. Exit and go to the right one. One-to-many is perfect for most cases. Many-to-many has valid use cases. One-to-one is rare and restrictive.

Adding Test Data for Early Testing

With services, customers, and managers set up, we’re ready to start testing. I recommend adding test data next. You can import real data later, but start small—maybe five to ten sample records—to visualize how your pages will function.

Start with your user roles. Let’s add a test customer record:

Hit submit.

Now repeat for the manager table if needed.

Let’s also add a test service record:

  • System Type: Printer
  • Service Needed: Troubleshooting & Repair
  • Service Date: A future date
  • Comments: “Help!”
  • Customer: Ro Customer

Now you’ll see Ro Customer appear in the lookup dropdown. That’s your connection working in real time.

Let’s add a second customer to see how permissions behave later:

And another service:

  • System Type: PC
  • Service Needed: Networking
  • Service Date: Another future date
  • Customer: Knack Customer

Now we’re set up with realistic test data.

Understanding the Default Homepage and Live App

Knack adds a Home Page by default. This is a public page, denoted by the icon. It means anyone with your personalized Knack URL can access it.

Your URL will look something like:
youraccount.knack.com/app-name/#home-page

The page is blank right now. And that’s normal. Don’t expect your data to automatically appear here—you need to build your workflow.

Adding a Login Page

Let’s start from scratch. Click the + Add Page button and choose Login Page.

You’ll get three options:

  • Public Page
  • Login Page
  • Dropdown Menu (to group pages under one tab)

Choose Login Page. Then specify who can log in. In our case, Customers. This lets us build a dedicated dashboard just for them.

Name it Customer Dashboard and click Add Page.

Now you’ll see the login form, but nothing else. Try previewing or going to the live app—you’ll be asked to log in. Log in using the test credentials for Ro Customer.

Once you’re in, the page is still blank. That’s expected. You’ve now started building navigation. The next step is to add views and begin building functionality.

Adding a Services Grid for Logged-In Customers

Now let’s talk about what we want our customer to see and do. We want them to log in to the app and see a table of all their service records.

Choose a grid view to display services. Knack will ask: should we show all services or just those connected to the logged-in customer? Choose services connected to the logged-in customer.

Then decide what you want the user to be able to do:

  • View more details? ✅
  • Edit their request? Optional

After selecting your preferences, click Continue, then Add Grid.

This creates a table on the page. The grid will be selected, and a left-hand panel will open to show your view settings.

View and Customize Grid Settings

Hover over a column and click the pencil icon to open additional settings for:

  • Header titles
  • Display rules (e.g., highlight certain values)
  • Text and color styling

The Source setting will say:

This grid is displaying service records connected to the logged-in customer.

This confirms your permissions are working. You can also:

  • Sort by a field (e.g., date)
  • Add filters (e.g., only show future dates)
  • Turn on keyword search
  • Allow record export
  • Enable inline editing

Use the Add Columns tab to:

  • Show or hide columns
  • Rearrange field order
  • Pull in fields from connected tables like address or phone number

Use the Actions tab to:

  • Add edit or delete links

Click Save when done.

Add a Form to Submit New Service Requests

Click Add View and choose a form.

Connect the form to:

Logged-in customer (so they don’t have to select themselves)

Click Continue, and choose to add the form as a menu button.

You can move this menu button wherever you want on the page. When clicked, it links to a new page with your service request form.

Edit the form by:

  • Removing the customer field (it’s set automatically)
  • Adding a redirect rule to go back to the parent page after submission
  • Setting up record rules (e.g., set status to “New” or capture the current date)
  • Creating email rules to notify your team of a new request

Click Save.

Now your sitemap shows:

  • Login page
  • Customer dashboard with table view
  • Add service form page
  • View service details page

Preview your app to test:

  • Log in as Ro Customer
  • View service table (only your records)
  • Add a new request (e.g., “Install software”)
  • Redirect to the dashboard
  • Confirm the new entry appears

That’s it! Your customer portal is functional and ready to scale.

Rinse and Repeat for Manager Workflows

Want to build a similar experience for managers? Just rinse and repeat.

  1. Add a login page for managers.
  2. Name it something like Manager Dashboard.
  3. Choose to show a grid of all customers.
  4. Enable edit links and view details.
  5. On the details page, add a grid of related services.

Now your managers can log in, view all customers, and see a full service history for each.

Additional Questions and Pro Tips

Want to pull data from a related parent record into a child? Use a Text Formula field.

  • Create the field in the child table (e.g., Services).
  • In the formula editor, choose the connected parent field (e.g., Address from Customer).
  • It will auto-update if the parent data changes.

Want to see related data on a view? Use the Add Columns tool in your grid and select fields from connected tables.

Need to group multiple pages under one menu? Use the Dropdown Menu when adding pages to keep your navigation clean.

Final Notes and Getting Support

If you’re stuck or unsure about anything:

  • Use the Help icon in the top right of the Knack builder
  • Visit the Knowledge Base
  • Email the onboarding team at onboarding@knack.com

You can also:

  • Hire a vetted Knack Expert
  • Explore community forums
  • Browse video guides

The Knack onboarding team is available Monday–Friday, 8 AM to 8 PM EST. Webinars are hosted weekly, so feel free to join another or submit questions ahead of time.

Thanks again for joining this session—and happy building!