Skip to main content

Helper Functions

The SDK provides convenient helper functions to simplify common operations.

Custom Field Helpers

Field Creation

from vaiz import (
make_text_field,
make_number_field,
make_checkbox_field,
make_date_field,
make_member_field,
make_task_relations_field,
make_select_field,
make_url_field
)

# Create any field type easily
text_field = make_text_field(
name="Customer Name",
board_id="board_id",
description="Client name"
)

number_field = make_number_field(
name="Story Points",
board_id="board_id"
)

checkbox_field = make_checkbox_field(
name="Approved",
board_id="board_id"
)

Field Editing

from vaiz import (
edit_custom_field_name,
edit_custom_field_description,
edit_custom_field_visibility,
edit_custom_field_complete
)

# Edit specific property
edit = edit_custom_field_name(
field_id="field_id",
board_id="board_id",
new_name="Updated Name"
)

# Edit multiple properties
edit = edit_custom_field_complete(
field_id="field_id",
board_id="board_id",
name="New Name",
description="New description",
hidden=False
)

Value Formatting

from vaiz import (
make_text_value,
make_number_value,
make_checkbox_value,
make_url_value,
make_date_value,
make_date_range_value
)
from datetime import datetime

# Format values for CustomField
text = make_text_value("Hello World")
number = make_number_value(42.5)
checkbox = make_checkbox_value(True)
url = make_url_value("https://example.com")
date = make_date_value(datetime(2025, 6, 1))

# Date range
date_range = make_date_range_value(
start_date=datetime(2025, 1, 1),
end_date=datetime(2025, 12, 31)
)

Select Field Helpers

Creating Select Options

from vaiz import make_select_option
from vaiz.models.enums import Color, Icon

# Create option with icon and color
option = make_select_option(
label="🔥 Critical",
color=Color.Red,
icon=Icon.Fire
)

Managing Select Options

from vaiz import (
add_board_custom_field_select_option,
remove_board_custom_field_select_option,
edit_board_custom_field_select_field_option
)

# Add option
add_request = add_board_custom_field_select_option(
field_id="field_id",
board_id="board_id",
new_option=new_option,
existing_options=current_options
)

# Remove option
remove_request = remove_board_custom_field_select_option(
field_id="field_id",
board_id="board_id",
option_id="option_id",
existing_options=current_options
)

# Edit option
edit_request = edit_board_custom_field_select_field_option(
field_id="field_id",
board_id="board_id",
option_id="option_id",
label="Updated Label",
color=Color.Blue,
icon=Icon.Star,
existing_options=current_options
)

Member Field Helpers

from vaiz import (
make_member_value,
add_member_to_field,
remove_member_from_field
)

# Single member
member = make_member_value("user_id")

# Multiple members
members = make_member_value(["user1", "user2", "user3"])

# Add member
updated = add_member_to_field(members, "user4")

# Remove member
final = remove_member_from_field(updated, "user2")

Task Relations Helpers

from vaiz import (
make_task_relation_value,
add_task_relation,
remove_task_relation
)

# Create relations
relations = make_task_relation_value(["task1", "task2", "task3"])

# Add relation
updated = add_task_relation(relations, "task4")

# Remove relation
final = remove_task_relation(updated, "task1")

Complete Example

from vaiz import VaizClient
from vaiz import (
make_select_field,
make_select_option,
make_text_value,
make_date_value
)
from vaiz.models import CreateTaskRequest, CustomField
from vaiz.models.enums import Color, Icon
from datetime import datetime

client = VaizClient(api_key="...", space_id="...")

# 1. Create custom fields using helpers
priority_options = [
make_select_option("High", Color.Red, Icon.Flag),
make_select_option("Medium", Color.Blue, Icon.Circle),
make_select_option("Low", Color.Green, Icon.Target)
]

select_field = make_select_field(
name="Priority",
board_id="board_id",
options=priority_options
)

field_response = client.create_board_custom_field(select_field)
field_id = field_response.field.id

# 2. Use value helpers when creating tasks
custom_fields = [
CustomField(
id=field_id,
value={"id": priority_options[0].id} # High priority
)
]

task = CreateTaskRequest(
name="Task with Custom Fields",
board="board_id",
group="group_id",
custom_fields=custom_fields
)

response = client.create_task(task)
print(f"✅ Created task with custom fields")

Why Use Helpers?

from vaiz import make_text_value, make_date_value
from datetime import datetime

# Clean, readable, type-safe
custom_fields = [
CustomField(id="text_field", value=make_text_value("Hello")),
CustomField(id="date_field", value=make_date_value(datetime.now()))
]

❌ Without Helpers (Manual)

# Error-prone, no validation
custom_fields = [
CustomField(id="text_field", value={"text": "Hello"}),
CustomField(id="date_field", value={"date": datetime.now().isoformat()})
]

Helpers provide:

  • Type safety - Correct data structures
  • Validation - Catches errors early
  • Consistency - Uniform API across field types
  • Maintainability - Code is easier to read and update

Available Helpers Reference

Field Creation

HelperField TypeDescription
make_text_fieldTextText input
make_number_fieldNumberNumeric input
make_checkbox_fieldCheckboxBoolean checkbox
make_date_fieldDateDate picker
make_member_fieldMemberUser selector
make_task_relations_fieldRelationsTask links
make_select_fieldSelectDropdown
make_url_fieldURLURL input

Field Editing

HelperPurpose
edit_custom_field_nameUpdate field name
edit_custom_field_descriptionUpdate description
edit_custom_field_visibilityShow/hide field
edit_custom_field_completeUpdate multiple properties

Value Formatting

HelperValue TypeExample
make_text_valueTextmake_text_value("text")
make_number_valueNumbermake_number_value(42)
make_checkbox_valueBooleanmake_checkbox_value(True)
make_url_valueURLmake_url_value("https://...")
make_date_valueDatemake_date_value(datetime.now())
make_date_range_valueDate Rangemake_date_range_value(start, end)
make_member_valueMembersmake_member_value(["user1"])
make_task_relation_valueRelationsmake_task_relation_value(["task1"])

Select Options

HelperPurpose
make_select_optionCreate select option
add_board_custom_field_select_optionAdd option to field
remove_board_custom_field_select_optionRemove option
edit_board_custom_field_select_field_optionEdit option

Member & Relations

HelperPurpose
add_member_to_fieldAdd user to member field
remove_member_from_fieldRemove user
add_task_relationAdd task relation
remove_task_relationRemove task relation

See Also