Behind the powerful online database, Knack is an incredibly flexible application platform.
The following is an exhaustive list of everything Knack can do.
Create database objects that represent your specific requirements.
Quick Start - Select from dozens of templates to get started quickly. Add pre-built objects for contacts, companies, orders, and more.
Easy Maintenance - Tweak your database at any time. Copy entire objects or individual fields for easy maintenance.
Migrate - Migrate existing databases into Knack with imports. Knack will help map the field types and can maintain relationships and keys.
Import - Import data directly from your CSV spreadsheets. You can create new objects or update existing records.
Export - Zero data lock-in. Export your records at any time into CSV, text, or JSON files.
Batch Update - Update multiple records at once in batches. Use queries to define which records are included.
Inline Editing - Quickly edit record values inline without having to click and load a new page.
Change History - View a history of changes for each record insert, update, and delete and see who made the update and how. PRO +
Filters & Queries - Query your records with unlimited combinations of filters like "contains", "starts with", "higher than", and more.
Backups - Your database is backed up twice daily to multiple geographically dispersed data-centers for maximum redundancy.
Data Restores - In case of catastrophic data loss we can restore your database from one of our backups for an hourly fee.
Security - Your data is completely private and secured by industry leading practices, backed by 3rd-party audits. MORE
Define your database with easy field types that add powerful functionality to your database.
Text - Use Short Text for text that is less than 255 characters and doesn't require any special formatting.
Use Paragraph Text for longer text that may need multiple sentences and paragraphs.
Yes/No - Binary options for either "Yes" or "No". Can also be On/Off or True/False.
Displayed in forms as radio buttons or a dropdown.
Multiple Choice - Select one or more choice from a group of pre-set options.
Display in forms as radio buttons, dropdowns, or checkboxes.
Users can select a single choice or multiple choices.
Enable users to add new choices dynamically to the list.
Date/Time - Store dates, times, or both.
Dates can be displayed in US (mm/dd/yy and M D, yyy) and international (dd/mm/yyyy) formats.
Times can be displayed in military (15:30) or use AM/PM (3:30pm)
Set default to a blank date, the current date/time, or a specific date/time.
Use in calendars with "all day" and repeat options similar to a Google Calendar.
Use in equations for calculating new dates (e.g. Expiration Date = Purchase Date + 30 days).
Number - Numeric fields that are added, counted, or measured.
Complete formatting control including decimal precision and separator, thousands separator, currency symbols, and custom before and after text.
Number fields can be used in equations and formulas to calculate other values, and can be aggregated in reports.
Image - Upload and display images, including thumbnails.
You can upload images directly to Knack, or you can use URLs to images already uploaded to the Internet in another location
Generate thumbnails to display different sizes of the image throughout your app. You can resize by percentage, by pixel, or force to a square.
File - Upload files and attachments that can be downloaded.
Optional security can be added to require a user login in order to view or download the file.
Address - Combine address fields like street and city into one convenient field for entering and displaying addresses.
Optional international format uses city, province/region, and postal code.
Geolocate addresses to use in maps for location and zipcode searches. Optionally input address data using latitude and longitude. PRO +
Name - Combine name fields like title, first name, and last name into one convenient field for entering and displaying names.
Names can be formatted with various options that can include title, last name first, and more.
Link - Display URLs that link to other websites
Link text can be the url, the same text for each link, or custom text for each link.
Links can be opened in the same browser or into a new browser or tab.
Email - Store email addresses and display links to send an email.
Link text can be the url, the same text for each link, or custom text for each link.
Phone - Store phone numbers using various phone formats. Display links to automatically trigger calls in mobile devices and Skype.
Choose from seven U.S and International options including an open option. User inputs will be masked to conform to these formats. Optionally include extensions.
Rich Text - Add more rich formatting and HTML to text.
When edited, a rich text field will have a WYSIWYG interface for formatting the text with styles like bold, bullets, and more.
Auto Increment - Generate a unique, immutable number for each new record.
The Auto Increment field can be used in equations and formulas.
Timer - track a duration between a start and end time, most often for tracking hours.
Timer fields can be formatted much like date fields, with custom date and time options
Format the duration by hours, minutes, days, and from-to (7:30-9:45)
Rating - Track ratings using a star system. Users click on the number of stars to record a rating.
Format to allow half-stars and set the maximum number of stars that can be used for a rating.
Signature - capture and store user signatures.
Signatures can be captured with a finger on touch-enabled devices.
Equations - Create equations to calculate values using other record values and mathetical functions.
Create equations by combining fields, operators like + (addition), and functions like max() and sqrt().
Equations can be numeric or date based. Date equations can run calculations on dates to store results in hours, days, or even new dates. The current time can be included for deadline or countdown equations.
Format similar to numbers with decimals and thousands options.
Formulas - Run calculations on connected records and store the total of that calculation.
Formula types include sum, average, max, min, and count.
Add filters to control the exact records each formula uses.
Create a flexible interface with tables, forms, searches, and more for your users to view and update the records in your database.
Intuitive and Simple - Your interface will feel more like a web app than a database.
Keep your users focused by including only the exact features they need.
Simple Navigation - Use tabs, links, and menus to navigate throughout your app and guide your users to the right page at the right time.
Icons - Use icons throughout your app to emphasize key links, highlight specific records, and add context to your app.
Modal Popups - Display key pages in modal popups to speed up the user experience so you don't need to reload entire pages.
Parent-Child Hierarchies - Navigate through unlimited hierarchies, like clicking a company to view that company's employees, and then clicking an employee to view that employee's sales.
Print Friendly - Add print links to print the contents of any page.
Embed your application into any website.
Embed - Easy embed codes for adding your application directly in your website.
Your app will adapt your site's style and look seamlessly integrated, even when viewed on a mobile device!
Targeted Publishing - Choose which pages to publish for which users.
Example: embed a product search on your public website, a sales portal for your mobile sales team, and a reporting page for management.
Knack database applications work great on any device.
Responsive Design - Knack apps are designed to look great on any device.
Apps will automatically resize to look best for the size of the device being used.
Mobile Features - Click on phone fields to make calls right from the app.
Use the phone's camera to upload images.
Capture signatures with your finger.
Geolocation - Capture user locations and store the coordinates with records in your database. PRO +
Add your own logo, color scheme, and completely customize the user interface to match your unique look and feel.
Custom Colors - Define your own color scheme: background, tab, link, button, and title colors can all be easily customized.
Custom Logo - Upload your own logo to display at the top of the app.
CSS & jQuery - Designers can use CSS and jQuery to completely customize the user interface. Knack was designed so that virtually every aspect of the interface can be accessed.
We’ve carefully designed the perfect library of flexible views to build your interface.
Quick Start - Knack uses your database schema and natural language to guide you on using the best views for each page.
Just point and click to build your interface!
Move & Copy - Save time by copying views to new pages and dragging views to other pages to keep things organized.
Connected Views - Use your database connections to show connected views, like a table of orders connected to the selected product.
Insert and update records with this interface powerhouse.
Flexible Layouts - Group inputs together and display in multiple columns.
Customize labels and instructions, and add titles and copy
Multi-Page Forms - Build sequential forms by separating each part of the form on a separate page so the user fills out each page one by one.
Connected Records - Use forms to add new records automatically connected to the parent record.
For example, add an employee connected to the selected company. Knack automatically makes the connection.
Display Rules - Define rules to control how inputs display.
Set criteria to hide or show inputs based on the values of other inputs.
Change input labels based on the values of other inputs.
Submit Rules - Define Rules to take different actions when the form is submitted.
Set criteria to display custom confirmation messages.
Set criteria to redirect to a new or existing page.
Record Rules - Define rules to insert or update records after the form is submitted, perfect for workflow actions like updating statues or setting approvals.
Set criteria to insert a new record.
Set criteria to upate records connected to the form.
Emails - Send email notifications or create custom email templates.
Set custom email recipients or send to email fields contained in the form record.
Set multiple CC, BCC, and REPLY-TO email addresses.
Create email templates combining text with values from the form. Include URLs in the email to pages in your app.
Special Values - Special values for updating forms, like tracking when forms were updated.
Set address values to the user's latitude and longitude.
Assign records to the logged-in user to track who submits the form
Dependent Drop-downs - Have the values of one drop-down change depending on the selection of the parent drop-down.
Filtered Drop-downs - Add filters to limit which values display in a drop-down, like values connected to the logged-in user or to the parent record.
Child Forms - Enable users to add new connected records to a drop-down in a modal popup without leaving the form.
Display multiple records in a table with columns and rows.
Data Source - Add filters to define exactly which records will display.
Set the default sort order and an optional record limit.
Columns - Add columns using any of the fields in your database.
Control the column header, width, and text alignment
Record Links - Add links to view record details, edit the record with a form, or delete the record.
Set the link text or use a field value.
Column Formating - add custom formatting to a column.
Background and text colors, icons, and bold/italic styles are available to format based on criteria you define.
Inline Edit - Click on column values to edit inline without leaving the table or loading a new page.
Exporting - Enable exporting links so users can export the table records in CSV, Text, and JSON formats.
Keyword Search - Add a keyword search to quickly search entire records by keyword.
User Filters - Let users add dynamic filters to query the table records.
Filter Menus - Add a tabbed menu above the table where each link adds a different record filter.
Hide Empty Columns - Optionally hide any columns where each row is blank.
Groups - Group records by fields and display each group as a separate header.
Row Summaries - Add summary rows at the bottom of the table to calculate totals and averages for numeric columns.
Display multiple records in flexible layouts.
Data Source - Add filters to define exactly which records will display.
Set the default sort order and an optional record limit.
Layouts - Display fields in flexible layouts of groups and columns.
Field labels can be hidden or left/top/right aligned.
Record Links - Add links to view record details, edit the record with a form, or delete the record.
Set the link text or use a field value.
Field Formatting - Fields can be formatted as bold, italic, or display as headers in larger fonts.
Exporting - Enable exporting links so users can export the table records in CSV, Text, and JSON formats.
Hide Empty Fields - Optionally hide any fields with a blank value.
Keyword Search - Add a keyword search to quickly search entire records by keyword.
User Filters - Let users add dynamic filters to query the table records.
Filter Menus - Add a tabbed menu above the table where each link adds a different record filter.
Search records by keyword and filters and display results in a table or list.
Data Source - Add filters to define exactly which records will display.
Set the default sort order and an optional record limit.
Custom Searches - Display searchable fields in groups and columns.
Customize labels, set fields to required, and add optional instructions.
Flexible Results - Display search results using tables or lists.
See views above for complete options.
Record Links - Add links to view record details, edit the record with a form, or delete the record.
Set the link text or use a field value.
Keyword Search - Include a keyword search to search by every field in the records.
Advanced Operators - Allow advanced filters based on the field type (e.g. search numbers by greater than or text by starts with).
And/Or Searches - Search multiple choice and connection fields by checkbox.
Determine if every selection must match to return a result or if any selection can match.
Exporting - Enable exporting links so users can export the search results in CSV, Text, and JSON formats.
Display an individual record with flexible layouts.
Layouts - Display fields in flexible layouts of groups and columns.
Field labels can be hidden or left/top/right aligned.
Field Formatting - Fields can be formatted as bold, italic, or display as headers in larger fonts.
Record Links - Add links to view record details, edit the record with a form, or delete the record.
Set the link text or use a field value.
Display multiple records in a graphical calendar.
Rich Graphical Calendar - Easy to navigate and customize.
Change the view from month, week, or day.
Responsive design works great on any size device.
Optionally limit time ranges, exclude weekends, and set the week start day.
Interactive Events - Work directly with the calendar to manage events
Click on an event to show details
Click on the calendar to add events
Drag events to different times or to change the duration.
Flexible Dates - Set dates to individual times, ranges, or repeats.
Set dates as "all day" that don't have a specific time.
Flexible repeat options similar to Google calendar.
Single dates or start-stop ranges.
Event Colors - Define criteria to set a custom color for each event.
Optional List - Display events in a list if you don't need a graphical calendar.
Feeds - Add links for RSS and iCal feeds to integrate your events with other systems.
User Filters - Let users add dynamic filters to query the table records.
Filter Menus - Add a tabbed menu above the table where each link adds a different record filter.
Display multiple records as pinned addresses on a map.
Customizable Maps - Display a list of results next to a graphical map.
Control the size with custom dimensions that respond to smaller devices.
Distance & Directions - Each mapped location displays the distance from the search and a link to Google Maps for directions.
Multiple Starting Points - Populate the map based on the user's current location, a specific addres, or a user search.
Units - Display distances in miles or kilometers.
Custom Pin Colors - Define rules to set custom pin colors for each location.
Location links - Add links to view more details or edit each location record.
Display customized line, bar, pie charts as well as pivot tables.
Group Record - Create reports by grouping records and running calculations on those groups.
Group by any field and add filters to limit the group.
Group dates by day/week/month/year with flexible start/stop ranges
Calculations - Define calculations to run on each group.
Run totals, average, minimum, and maximum for the group.
Count the number of records in each group.
Dashboards - Group multipe reports together in flexible layouts to create dashboards.
Customize report dimensions, legends, and labels.
Pivot Tables - Show calculations where two or more groups intersect.
Pie Charts - Help visualize percentages and relative totals.
Line & Bar Charts - Visualize totals with bar charts and plot data points with line charts.
Exclude Empty Groups - Only show groupings that have results.
Expand Group Records - Click on report groups to display the records in that group in a modal popup.
User Filters - Let users add dynamic filters to limit the report records.
Connections are used to link records together in your database and open up powerful features.
Relational - Connections are used to link records from one object to records from another object.
This makes your data relational and what separates a database from a spreadsheet.
Knack is a completely relational database.
Unlimited Connections - Create one-to-one, one-to-many, and many-to-many relationships between your objects.
Knack imposes no limits on the type or number of connections you have.
You can even have more than one connection between the same objects.
Look-ups - Use look-ups to "look up" records from one object to connect to.
Look-ups can be searchable drop-downs, radio buttons, or checkboxes.
Set the display field that each object uses to identify a record.
Formulas - Create aggregate formulas to calculate counts, sums, averages, and more on connected records.
E.g. calculate the average salary for the employees connected to each company.
Equations - Use fields from connected records in equations.
E.g. use the average employee salary from the connected company to determine the difference for each employee's salary.
Imports - Set connections during imports by selecting a field to "match" on.
Perfect for migrating from other databases where you want to maintain relationships.
Parent-child Navigation - Navigate across connections in your interface
E.g. Click on a company to view the connected employees. Then click on an employee to view that employee's connected sales.
Logged-in User - Show records connected to the logged-in User.
E.g. Show sales records connected to the logged-in employee.
Perfect for customer portals.
Connected Views - Include fields from other connected records when displaying records in a view.
Connected fields can also be filtered or searched in a Search view.
Dependent drop-downs - Configure look-ups to change options based on the selection from another look-up.
E.g. selecting a company record from one dropdown will only show employees connected to that company in another dropdown.
Connection Links - Add links to view details about connected records.
E.g. Have a list of employees link to another page so you can click on each employee for more details.
Allow users to have access to specific content.
Flexible Logins - Require users to login before they can view and use your app.
Protect your entire app with a single login or choose on a page by page basis.
User Roles - Create multiple user roles to assign each user to.
User Roles work just like database objects and can have custom fields.
Users can be assigned to multiple roles
Permissions - Restrict logins by roles to create specific pages for each user role.
E.g. create a page for management to view reports, and another page for employees to post progress reports.
User Status - Each user can be considered active, pending, or inactive.
Status can be updated in bulk or dynamically with form rules and tasks.
User Management - Quick tools for resetting passwords, emailing account info, and setting the user status.
Update in bulk or on a per record basis.
Unlimited User Licenses - No expensive user licenses where you have to pay for every user.
Each user simply counts as a record stored in your database.
Registration Forms - Custom forms for users to register for access.
Set registration options to open, closed (cannot register), or requiring approval.
Single Sign Ons - Users can log in with existing social accounts
Google, Facebook, and Twitter SSO included.
Advanced SSO - Add custom SSO integrations using Shibboleth, oAuth, and more.
Limit logins to a specific domain. PRO +
User Level Records - Use connections to show records connected to the logged-in user.
Perfect for customer portals and apps where you want your users to only access their own records.
Form Rules - Update records with values from the logged-in user.
Perfect for tracking who last updated a record.
Add payments to create powerful E-Commerce applications.
In App Payments - Add checkouts to any form to accept payments.
After submitting a form your users can make a payment without needing to leave your app.
Custom Charges - Use values in your database to calculate the charge amount.
Define with equations, user inputs, formulas, and more.
Use multiple fields with a grand total.
Secure Processors - Integrate with popular payment providers like Stripe and PayPal.
All sensitive credit card info is stored with these providers so your databse is secure.
Checkout Pages - Customize the checkout and confirmation pages to display the charge total.
Email Receipts - Send custom email receipts including the charge totals.
Charge Rules - Define rules to update records behind the scenes when a charge is made.
Database Integration - Each charge is stored in your Knack database and can be integrated throughout your Knack application.
Charge Connections - Connect charges to other records in your database.
Reports & Analysis - Create reports, aggregate totals, and bar/pie/line charts based on your chart data.
Knack provides flexible tools to easily implement realtime workflows.
Notifications & Reminders - Keep your users constantly notified of any workflow updates. Send customized emails at any step of the processes.
Scheduled Tasks - The work doesn't stop when your users log off. Define schedules to update records, send emails, and keep your workflows moving.
Status Indicators - Use icons, colors, and styles to quickly gauge which processes are on track and which ones are in need of attention.
Approvals & Life Cycles - Set up approvals to move each process through a defined life cycle. Each user sees their pending records and actions steps.
Roles & Permissions - Create aggregate functions to operate on child records, like sums, counts, average, min, and max. Add filters to include precise records.
Integrations - Integrate your workflows and connect your data with all of your other web services using Zapier and the Knack API.
Developers and designers can extend and customize your app's functionality, interface, and design.
Developers can use Knack’s API to to add custom features and integrations with your database.
Update your records - Write programs to read and modify the records in your database.
Create, retrieve, update, and delete record options.
Connect your data - Connect your Knack data with any other service that has an API.
Access your users - Authenticate logins and access user records with user tokens.
Helpful Libraries - Easy access with community-authored libraries in Ruby, Python, and more.
Store Mobile Data - Access data from your Knack database in your mobile apps.
Interface Triggers - Trigger requests from your interface to initiate advanced record operations.
Developers can use JavaScript to customize and extend your app's interface.
Event Driven - Respond to events like form submissions and table renders with custom actions.
Custom Views - Extend views with custom actions like triggering API calls with menu buttons.
User access - Multiple methods to work with the logged-in user and access their data.
Designers can use CSS to completely control the look and feel of your app.
Complete CSS Control - Name-spaced classes and IDs enable you to control every design aspect with CSS.
Custom Views - Extend views with JavaScript and jQuery to add UI features like table row checkboxes.
Embed on any Site - Embed your app on any website with seamless design integration.