--- title: "Concepts: Custom Fields Deep Dive" slug: "scripting-tutorials-custom-fields-deep-dive" updated: 2024-09-18T17:50:13Z published: 2024-09-18T17:50:13Z canonical: "help.agilityblue.com/scripting-tutorials-custom-fields-deep-dive" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.agilityblue.com/llms.txt > Use this file to discover all available pages before exploring further. # Concepts: Custom Fields Deep Dive ## Introduction This article takes a deeper look at each custom field data type and provides examples, details, and tips for each one. ## Available Data Types As previously outlined in the [system objects with custom fields intro](/v1/docs/scripting-tutorials-system-objects-with-custom-fields-intro) article, there are currently 10 different data types available: | Data Type Id | Data Type Name | Stored As | | --- | --- | --- | | 1 | Basic Text | ValueAsString | | 2 | Rich Text* | ValueAsString | | 3 | Whole Number | ValueAsNumber | | 4 | Decimal Number | ValueAsDecimal | | 5 | Yes or No Choice | ValueAsBoolean | | 6 | Date Only | ValueAsDate | | 7 | Date and Time | ValueAsDate | | 8 | Single Choice | ValueAsString | | 9 | Multiple Choice** | ValueAsString | | 10 | Reference | ReferenceObject | ## Data Type: Basic Text The following script example creates a new client that has a basic text custom field named “Billing Contact Name” ```powershell $billingContactNameFieldId = 10 $clientToCreate = @{ Name = "SoundWave Studios" Reference = "SWS0001" Fields = @( @{ FieldId = $billingContactNameFieldId Label = "Billing Contact Name" Value = @{ ValueAsString = "Seth Trapsitell" } } ) } $createdClient = Add-Client -Entry $clientToCreate Write-Output "Client $($createdClient.ClientId) ($($createdClient.Name)) was created" ``` The output of this script: ```plaintext Client 85 (SoundWave Studios) was created ``` **Points of Interest**: - Note that we used the `ValueAsString` property to store the decimal value. ## Data Type: Rich Text The following script example creates a new client that has a rich text custom field named “Client Address” ```powershell $clientAddressFieldId = 90 $clientToCreate = @{ Name = "SoundWave Studios" Reference = "SWS0001" Fields = @( @{ FieldId = $clientAddressFieldId Label = "Client Address" Value = @{ ValueAsString = "
123 Main Street
Suite 2400
Somewheresville, NW 55555