> ## Documentation Index
> Fetch the complete documentation index at: https://docs.knowlix.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Property Fields

Property fields (also called custom properties) allow you to extend Knowlix forms with additional fields tailored to your specific business needs. Unlike standard system fields, properties are flexible and can be added without technical development or database modifications.

Properties enable you to capture unique data points relevant to your workflows, making Knowlix adapt to your processes rather than forcing your processes to adapt to the software.

**Key characteristics:**

* **No coding required:** Add fields through a point-and-click interface
* **Contextual:** Properties can be specific to certain teams, projects, or categories
* **Flexible:** Support multiple data types (text, numbers, dates, selections, etc.)
* **Dynamic:** Can be added, modified, or removed without affecting system stability

**💡 Pro Tip:** Ask Your Knowlix to create custom fields: *"Add a 'Priority Level' selection field to my CRM leads"*

***

## Property Fields vs. Regular Fields

While property fields behave similarly to regular system fields, they work differently behind the scenes.

**Regular system fields:**

* Built into Knowlix's database structure
* Global across all instances of a record type
* Require development work to add or modify
* Stored as dedicated database columns

**Property fields:**

* Flexible custom fields you can add yourself
* Scoped to specific contexts (e.g., one project but not others)
* Can be created/modified through the interface
* Stored differently in the database for flexibility

**Example scenario:**

Imagine you're managing tasks in two different projects:

* **Project A** needs a "Budget Code" field on tasks
* **Project B** doesn't need this field

With property fields, you can add "Budget Code" to Project A's tasks without it appearing in Project B. This contextual flexibility is property fields' key advantage.

**💡 Technical Note:**
Properties act as pseudo-fields. They appear and function like regular fields but are stored differently to enable their flexibility.

***

## Adding Property Fields

Adding property fields is straightforward and can be done by any user with appropriate permissions.

### Creating Your First Property

**Step-by-step:**

1. Open any record form (task, lead, contact, etc.)
2. Click the **Actions** menu (gear icon)
3. Select **Add Properties**
4. A property configuration panel appears

\[Screenshot: Actions menu with Add Properties option highlighted]

### Configuring a Property

When adding a property, you'll specify three main elements:

**Label:**
The display name for your field (e.g., "Project Budget," "Customer Type," "Due Date")

**Field Type:**
The type of data this field will store (see detailed types below)

**Configuration:**
Type-specific options like default values, selection options, or related models

\[Screenshot: Property configuration panel]

**After configuration:**
Click outside the configuration panel to save the property. It immediately appears on the form.

**💡 Agent Alternative:**
*"Create a custom field called 'Project Phase' with options: Planning, Execution, Review, Complete"*

***

## Field Types

Knowlix supports multiple property field types, each suited to different data needs.

### Text Field

**Purpose:** Short, single-line text entries

**Configuration options:**

* Default Value: Pre-populate with standard text

**Use cases:**

* Product codes
* Reference numbers
* Short notes or identifiers

**Example:** "Order Reference" field on sales orders

***

### Checkbox Field

**Purpose:** Yes/no or true/false values

**Configuration options:**

* Default State: Checked or unchecked by default

**Use cases:**

* Feature flags (e.g., "Rush Order")
* Compliance checkboxes
* Binary status indicators

**Example:** "Requires Manager Approval" on expense reports

***

### Integer Field

**Purpose:** Whole numbers (positive, negative, or zero)

**Configuration options:**

* Default Value: Starting number

**Use cases:**

* Quantities
* Counts
* Sequence numbers

**Example:** "Team Size" on project records

***

### Decimal Field

**Purpose:** Numbers with decimal points

**Configuration options:**

* Default Value: Starting number

**Use cases:**

* Percentages
* Measurements
* Calculated values

**Example:** "Discount Percentage" on quotes

***

### Date Field

**Purpose:** Calendar date selection

**Configuration options:**

* Default Value: Pre-selected date

**Use cases:**

* Milestones
* Expiration dates
* Target dates

**Example:** "Expected Delivery Date" on orders

***

### Date & Time Field

**Purpose:** Calendar date plus specific time

**Configuration options:**

* Default Value: Pre-selected date and time

**Use cases:**

* Scheduled events
* Timestamp requirements
* Time-sensitive deadlines

**Example:** "Presentation Time" on opportunity records

***

### Selection Field

**Purpose:** Choose one option from a predefined list

**Configuration options:**

* **Add options:** Click "Add a Value" and enter option names
* **Set default:** Click the default button next to an option
* **Reorder:** Drag and drop options using the handle icon
* **Remove:** Click the remove button next to an option

**Use cases:**

* Status categories
* Priority levels
* Classification types

**Example:** "Lead Source" with options like Website, Referral, Trade Show, Cold Call

\[Screenshot: Selection field configuration with multiple options]

***

### Tags Field

**Purpose:** Select multiple values displayed as colored tags

**Configuration options:**

* Enter tag names and press Enter
* Click tags to change their display color

**Use cases:**

* Multi-category classification
* Skill sets
* Feature labels

**Example:** "Technologies Used" on project tasks (Python, JavaScript, Docker, etc.)

\[Screenshot: Tags field with colored tags]

***

### Many2one Field

**Purpose:** Link to a single record from another module

**Configuration options:**

* **Model name:** Which record type to link to
* **Domain filter:** Restrict which records can be selected
* **Default value:** Pre-selected record

**Use cases:**

* Linking to users, contacts, products, or other records
* Creating relationships between data

**Example:** "Project Manager" field linking to User records

***

### Many2many Field

**Purpose:** Link to multiple records from another module

**Configuration options:**

* **Model name:** Which record type to link to
* **Domain filter:** Restrict which records can be selected
* **Default values:** Pre-selected records

**Use cases:**

* Multiple category assignments
* Team member selection
* Multi-item associations

**Example:** "Related Products" field linking to Product records

***

### Separator

**Purpose:** Visual grouping element that creates a collapsible section

**Configuration options:**

* Label becomes the section header

**Use cases:**

* Organizing many properties into logical groups
* Improving form readability
* Creating expandable/collapsible sections

**Example:** "Compliance Information" separator to group regulatory fields

\[Screenshot: Form with separator organizing related fields]

***

## Managing Properties

### Editing Properties

Once a property exists, you can modify it at any time.

**To edit a property:**

1. Enter **Add Properties** mode (Actions menu → Add Properties)
2. Hover over the property you want to edit
3. Click the **pencil icon**
4. Make your changes in the configuration panel
5. Click outside to save

**Reordering properties:**

Use the drag handle icon to move properties up or down in the form layout.

**Adjusting position:**

When editing a property, use the up/down chevron buttons in the configuration panel to change its order.

\[Screenshot: Property editing interface with drag handles]

### Deleting Properties

**To delete a property:**

1. Enter **Add Properties** mode
2. Hover over the property
3. Click **Delete**
4. Confirm deletion

> **Warning:** Deleting a property is permanent and removes all data stored in that field for all records. This action cannot be undone.

**💡 Archive Instead:**
If you're unsure about deletion, consider using a separator to hide properties in a collapsed section instead of deleting them.

### Display Options

**Show in card views:**

Enable the **Display in Cards** option for properties you want visible in Kanban, List, or Calendar view cards. This makes important property data visible without opening full records.

**Adding multiple properties:**

While in Add Properties mode, click **Add a Property** at the bottom of the form to create additional fields without exiting the configuration interface.

***

## Property Context and Scope

Properties are contextual, meaning they're tied to specific "parents" in your system. Understanding this helps you structure custom fields effectively.

### How Property Context Works

When you add a property to a record, it becomes available to all sibling records sharing the same parent context.

**Example: Project Tasks**

* You add a "Sprint Number" property to a task in Project Alpha
* All other tasks in Project Alpha automatically have the "Sprint Number" field
* Tasks in Project Beta do NOT have this field unless you add it there separately

This contextual behavior allows different teams or projects to customize their forms independently without affecting others.

### Common Parent Contexts by Module

Different Knowlix modules use different parent contexts for properties:

| Module     | Record Type         | Parent Context        |
| ---------- | ------------------- | --------------------- |
| CRM        | Leads/Opportunities | Sales Team            |
| Projects   | Tasks               | Project               |
| Helpdesk   | Tickets             | Helpdesk Team         |
| HR         | Employees           | Company or Department |
| Inventory  | Products            | Product Category      |
| Sales      | Products            | Product Category      |
| Accounting | Journal Entries     | Journal               |
| Events     | Registrations       | Event                 |

**Understanding your context:**

Before adding properties, think about the scope. Ask yourself:

* Should this field appear on ALL records of this type?
* Or just records within a specific team/project/category?

If the former, you might need system-wide custom fields (requires admin). If the latter, properties are perfect.

***

## Best Practices

### Plan Before Adding

Don't add properties impulsively. Plan which data you need to capture and why. Every additional field adds complexity to your forms.

### Use Descriptive Labels

Make property labels clear and specific. "Status" is vague; "QA Review Status" is clear.

### Leverage Selection Fields

For fields with predefined options, always use Selection or Tags fields rather than free-text. This ensures data consistency and enables better reporting.

### Group Related Properties

Use separators to organize related properties. This makes long forms more manageable and improves user experience.

### Set Sensible Defaults

Configure default values for properties where appropriate. This reduces data entry time and ensures important fields aren't left blank.

### Review and Clean Up

Periodically review your custom properties. Remove unused fields to keep forms clean and focused.

### Document Property Definitions

Especially for selection fields, document what each option means. This ensures consistent data entry across your team.

***

## Use Cases by Industry

### Professional Services

**Project tasks:**

* "Billable" (checkbox)
* "Hourly Rate" (decimal)
* "Client Approval Required" (checkbox)

### Manufacturing

**Product records:**

* "Lead Time (days)" (integer)
* "Certification Status" (selection)
* "Supplier" (many2one)

### Real Estate

**Property listings:**

* "Property Type" (selection)
* "Square Footage" (integer)
* "Amenities" (tags)

### Healthcare

**Patient records:**

* "Insurance Provider" (many2one)
* "Allergies" (tags)
* "Last Visit Date" (date)

***

## Troubleshooting

### Property Not Appearing

**Check your context:**
Properties are parent-specific. Ensure you're viewing a record that shares the parent where the property was created.

**Verify permissions:**
Some property visibility may be restricted based on user roles.

### Can't Edit Property

**In use by other users:**
If someone else is currently editing properties, wait for them to finish.

**Permission restrictions:**
Verify you have the necessary user rights to modify properties.

### Data Lost After Deletion

Property deletion is permanent. There is no undo function. If you accidentally delete a property, you'll need to recreate it and re-enter the data.

**Prevention:** Back up critical data before making significant property changes.

***

## Related Documentation

* [Form Views](../09_Productivity_Tools/Form_Customization.md) - Customize record forms
* [Filters and Search](Search.md) - Search using custom property values
* [Reporting](Reporting.md) - Include custom properties in reports
* [User Permissions](../10_System_Administration/User_Permissions.md) - Control property access

***

## Need Help?

**Ask Your Knowlix:**

* "Add a 'Priority' selection field with High, Medium, Low options"
* "Create a checkbox field called 'Requires Manager Review'"
* "Show me all custom properties on this project"
* "Delete the 'Budget Code' property"

**Contact Support:**
For questions about property field limitations, advanced configurations, or technical issues, contact Knowlix support through the Help menu.
