This article details all the database tables that exist within InstantKB and briefly describes the purpose of each table. Table names appear in bold with a description below the table name.
You'll notice some tables are prefixed with "InstantASP_" and some tables are prefixed with "InstantKB_". The "InstantASP_" tables are shared tables and also exist within our InstantForum product. We do this for integration purposes. The "InstantKB_" tables are specific to InstantKB.
This table holds queued emails within InstantKB. By default whenever InstantKB generates an email the email will be placed into this database table. By default this table is queried every 60 seconds on a background thread to send emails in batches of 50.
This table holds all default and custom form fields used throughout all InstantKB article, troubleshooter guides, downloads & ticket forms.
This table holds the layout or structure information of form fields for a specific field template within InstantKB. This includes the sort order of fields for a field template & if any fields are required, hidden or have default values.
This table holds basic information for field templates such as the name and the tab the field template is associated with. This table has a relationship to the InstantASP_FieldTemplateDetails table on the FieldTemplateID column.
This table holds a key value pair of search & replace patterns which are parsed against all search strings a user provides within the InstantKB interface. Search patterns support regular expressions. This can be helpful to remove common terms from search strings before the search strnig is passed to our search methods.
This table holds a key value pair of search & replace patterns which are parsed against all user comments within within the InstantKB interface. Search patterns support regular expressions. This can be used to automatically filter competitor names or abusive language from user submitted comments.
Whenever you create a custom field of drop down list, radio button list or multiple selection drop down list an entry is added to this table to represent the drop down list. This allows us to establish a relationship between your custom field and the values that should appear within your custom field.
This tables holds all individual values for any custom drop down fields, radio button lists or multiple selection drop down fields created as a custom field within InstantKB.
This table holds all built-in and custom user roles available within InstantKB. These are referred to as "Member Groups" within InstantKB interface.
This tables holds scheduled task information. Scheduled tasks are essentially web requests to a specific web end point at specific intervals. If any scheduled task are defined and scheduled tasks are enabled via the InstantKB application settings this table will be queried every 60 seconds to check if any tasks need to execute.
This table is used for reporting purposes and is used to generate the various search reports within the InstantKB admin control panel. This table holds every term a user performs within InstantKB.
This table is used to persist data we need to pass between pages for each session centrally within the database. For example if you attempt to perform an action within InstantKB that requires you to login you are taken to our login page. The original URL you first requested however is added to the InstantASP_Sessions table with a unique session identifier so you can be brought back to the correct page after you login or create a new account.
This table holds all general application settings. Application settings are stored as an XML string within the database for greater flexibility. For example this means we don't need to add a new database column for every new application setting we introduce.
This tables holds all tags associated with articles within InstantKB.
This table holds all core user information within InstantKB. This includes the user's username, email address and hashed password.
This table holds a one to many relationship between users and roles within InstantKB.
This table is used to persist & centralize ASP.NET view state within the database. This also ensures smaller pages as we don't need to render view state on the client.
This table is not currently used within InstantKB. This is a shared table that is currently only used within InstantForum.
This table holds any staff specific ticket alerts / notifications defined by staff members within InstantKB. Alerts can be used by regular staff members within InstantKB to let them know when new tickets arrive or when tickets are assigned to them.
This table holds a one to many relationship between articles within InstantKB and categories. A single article can be placed into multiple categories within InstantKB. This is the table that holds this relationship.
This table holds how many up or down votes have been submitted for a specific user comment.
This table holds all user submitted comments for specific articles within InstantKB.
This table holds the values for any custom fields you've defined for articles.
This table holds each individual rating for articles. This is used to determine the rating for the 5 star rating control for the article by simply taken the mean of all individual ratings within this table.
This table is used for reporting purposes and to track which articles users have read. This table holds an entry for every article view with a corresponding date stamp. This table can grow quite large so we provide an option via the Admin CP to periodically clear this table if needed.
This table holds the relationship between a single article and any other related articles. You can also link to external URLs from articles which are also stored in this table.
This table holds a one to many relationship for an article and all roles associated with that article. Only users who belong to one or more of the same roles associated with the article would see the article.
This table holds all your InstantKB articles. This includes the title of your article, all meta data for the article and the article HTML.
This table holds all attachments associated with articles and tickets within InstantKB.
This table holds all permitted attachment file types your staff members are allowed to upload & attach to article or support tickets.
This table holds all categories defined within InstantKB. You can create any number of categories within each InstantKB tab to help you organize the content within that tab.
This table holds a one to many relationship between a category and the roles associated with that category. Only users who belong to one or more of the same roles associated with the category would see the category and contact within the category.
Holds setting information for the various inbound support channels supported by InstantKB.
This table holds the default & custom views defined for various grids within InstantKB. For example you can add custom fields to grids used within InstantKB or change the default sort by or sort order for various grids within InstantKB.
This table holds the various staff departments for InstantKB. Staff departments can be used to help route inbound support tickets based on the department selected by the user or can be used to help control which workflows are available to staff members within the Staff CP.
This table stored a copy of each email received by InstantKB before it's converted into a support ticket. This table is used to check if InstantKB has already received the email if you choose not to delete emails from your server when InstantKB download the email.
This table holds the glossary of terms you can define within InstantKB. The glossary of terms is accessible via a dedicated page within the InstantKB support portal. Terms that appear within articles are also automatically hyper-linked showing the definition from your Glossary.
This table holds the default & custom values for the "Level" drop down list field when creating or editing articles.
This table holds user and staff notes that are available from the user control panel and staff control panel.
This table holds information for any notifications that should trigger when content is placed into a specific work flow step. The RelatedEntityID is related to the WorkFlowStepID from the InstantKB_WorkFlowSteps table.
This table holds all user permission sets within InstantKB. Permission sets help you control what features are available to regular users when viewing content via the InstantKB front-end.
This table holds a one to one relationship between a user role or member group and a specific permission set within InstantKB. When a permission set is linked to a specific user role all users who have that role as there primary role within InstantKB will automatically inherit the permission defined within the permission set associated with the users primary role.
This table holds the specific permissions available to users for each built-in and custom tab within InstantKB for each permission set defined within the InstantKB_PermissionSets table.
This table holds the default & custom values for the "Priority" drop down list field when creating or editing articles or support tickets.
This table holds all rules you can define as an administrator via the InstantKB Admin CP. Rules all you as an administrator to control how tickets are routed and which notifications are trigged when tickets arrive or are escalated.
This table holds InstantKB specific application settings. Similar to the InstantASP_Settings table this table stores settings values in XML format for greater flexibility.
This table holds the service level agreements you can define for inbound customer support tickets within InstantKB. Service level agreements can be applied automatically to inbound tickets by creating a rule to associate the an SLA based on keywords within the ticket or which department the ticket was directed to.
This table holds the various staff permissions you can define within InstantKB. Staff permissions allow you to control which features are available to staff members within the Staff CP based on the department the Staff Member belongs to.
This table holds all staff permissions for each built-in and custom tab defined within InstantKB.
This table holds all public & private standard replies staff members can select from when responding to customer support tickets.
This table holds the default & custom values for the "Status" drop down list field when creating or editing articles or support tickets.
This table holds a one to many relationship between a tab and the roles that are associated with that tab. Only users who belong to one or more of the same roles associated with the tab would see the tab and have access to categories & contact within the tab.
This table holds all the built-in and custom tabs defined within InstantKB. By default InstantKB is provided with 4 tabs (Knowledgebae, Troubleshooter, Downloads & Submit Ticket) however you can extend InstantKB and create your own custom tabs. For further information on tabs please see our Custom Tab Overview and Controlling Access To Tabs.
This table holds the values for custom ticket fields.
This table holds the notes associated with any ticket within InstantKB.
This table holds all replies to a specific ticket within InstantKB.
This table holds all customer support tickets within InstantKB. This table includes the ticket title, all ticket meta data and the ticket message.
This table holds the various questions shown below troubleshooter guides to help users navigate to the next stage in the troubleshooter guide.
This table holds the default & custom values for the "Type" drop down list field when creating or editing articles or support tickets.
This table holds a one to many relationship between your staff members and staff departments within InstantKB. Similar to member groups a staff member can have a single primary department and multiple secondary departments. The primary department is used to determine which staff permission set to apply to the staff member and the secondary departments are used to control which workflows are visible to the staff member.
This table holds the various user / reputation levels associated with users within InstantKB.
These are referred to as contact lists within the InstantKB user interface. Holds each of the contact lists that can be defined to help you group and organize contacts within InstantKB
This table holds InstantKB user specific settings. For example the users signature.
Holds a one to many relationship for each user and several user or contact lists.
This table holds an entry for each active session within your InstantKB installation. This is used to provide real-time statistics.
This table holds a one to many relationship between single workflow and multiple departments.
This table holds all workflows you can define within InstantKB. Workflows within InstantKB can be used to enforce processes for ticket resolution or content approval.
This table holds the individual steps available within each work flow. Each step represents a stage in your work flow. At each step various automated actions can be applied to the article or support ticket you are updating the workflow for.
This table is used to enforce the next available work flow steps you can place an article or ticket into placed on it's current work flow step.