Before You Begin
This tutorial will walk you through the practical steps of creating a simple but functional “Task” Object Type from scratch. This process is the heart of designing any solution in Luklak.
Prerequisite: Object Types
can only be designed inside a 📋 Function
. Before starting, please ensure you have created a new, empty Function to work in. For this guide, let’s assume you’ve created one named “Project Management”.
Remember, the Object Type
is the blueprint for a business process. We are now in the workshop, designing that blueprint.
The Design Process: An Overview
We will follow three main steps to create our “Task” Object Type:
- Create the Object Type: Give it a name and an icon.
- Design the Workflow: Define the lifecycle statuses for a task.
- Add Data Fields: Specify what information a task needs to store.
Step-by-Step Guide: Creating a ‘Task’ Object Type
# Creating a 'Task' Object Type
This guide walks you through designing a simple but functional 'Task' Object Type inside a Function.
## Section 1: Create the Object Type
! Important: Make sure you are inside the design canvas of your 'Project Management' Function.
1. From the left sidebar of the Function designer, navigate to the **'Object Types'** tab.

2. Click the **'+ New Object Type'** button at the top of the list.
* A configuration panel will open.
3. Enter the following details in the panel:
- **Name:** `Task`
- **Icon:** Select a 'check-square' icon from the library.

4. Click **'Create'**.
* Your new 'Task' Object Type is now created and appears in the list, ready for configuration.
## Section 2: Design the Workflow
* Tip: The workflow visualizes the lifecycle of your task. Let's create a simple 'To Do → In Progress → Done' flow.
1. With the 'Task' Object Type selected, click on the **'Workflow'** sub-tab to open the workflow canvas.

2. Click **'+ Add Status'** three times to create your statuses. Name them:
- `To Do` (Set Type to: To Do)
- `In Progress` (Set Type to: In Progress)
- `Done` (Set Type to: Done)
3. Create transitions between the statuses by clicking the '+' icon on the edge of a status and dragging the arrow to the next one.
- Connect `To Do` → `In Progress`.
- Connect `In Progress` → `Done`.

## Section 3: Add Data Fields
* Tip: Data fields are how you store essential information on each task. Let's add fields for an assignee, a due date, and a priority level.
1. Click on the **'Data Fields'** sub-tab for your 'Task' Object Type.

2. Click **'+ Add Field'** and create the following three custom fields:
- **Field 1:** Name: `Assignee`, Type: `User`.
- **Field 2:** Name: `Due Date`, Type: `Date`.
- **Field 3:** Name: `Priority`, Type: `Select List`. In the options for this field, add: `High`, `Medium`, and `Low`.

You’ve Built Your First Blueprint!
Congratulations! You have successfully designed a complete, albeit simple, Object Type. This “Task” blueprint now has:
- A clear identity (name and icon).
- A 3-step lifecycle (
Workflow
).
- The ability to store crucial information (
Data Fields
).
This Object Type is now ready to be used in a ⏹️ Space
to create real tasks.
What’s Next?
You’ve created a basic blueprint. Now you can learn about more advanced configurations to make your Object Types even more powerful.